gpt4 book ai didi

c# - 从 dll C# 返回一个类对象

转载 作者:行者123 更新时间:2023-11-30 20:05:38 24 4
gpt4 key购买 nike

我在 C# 中有一个 dll,它返回一个类对象。

动态链接库代码:

Person.cs:

namespace Extract
{
public class Person
{
public string name;
public string address;
public int age;
public int salary;
}
}

Class1.cs

namespace Extract
{
public class MClass
{
public static Person GetPerson()
{
Person p = new Person();
p.name = "Deepak";
p.address = "Bangalore";
p.age = 30;
p.salary = 20000;
return p;
}
}
}

我在 C# 中有另一个程序“RunApp”,它具有相同的 Person.cs 类并尝试从上述 dll 中获取对象。

运行应用程序代码:

Person.cs:

namespace Extract
{
public class Person
{
public string name;
public string address;
public int age;
public int salary;
}
}

Form1.cs:

namespace Ex
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
Person mem = MClass.GetPerson();
}
}
}

在此之后,当我编译“RunApp”代码时,出现错误:

"Cannot implicitly convert type 'Extract.Person' to 'Ex.Person' ". I tried changing the namespace of the "RunApp" code from 'Ex' to 'Extract', but too the same Error: "Cannot implicitly convert type 'Extract.Person' to 'Extract.Person' ".

我想将值从 Extract.dll 发送到 RunApp 程序。我想在多个程序中使用这个 dll。

谁能帮忙解决这个问题?

最佳答案

类型由其程序集定义。两个不同程序集中 Foo.Bar.SomeClass 的两个相同副本是不同的类型,并且不可互换 - 即使它们具有相同的命名空间等。

您应该引用该库,并重新使用那里的类型。

关于c# - 从 dll C# 返回一个类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11079322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com