C# 与dll共享类定义

C# 与dll共享类定义,c#,dll,C#,Dll,是否可以与dll共享类定义?我有主程序类定义和SQL连接。我需要一些dll来将数据导出到xml。但我不知道如何将数据收集发送到dll。如果该类在“主”程序中定义 比如说 主要代码: namespace A { public void callMethod() { B.method(aa); } public class aa { public aa() { this.abList =

是否可以与dll共享类定义?我有主程序类定义和SQL连接。我需要一些dll来将数据导出到xml。但我不知道如何将数据收集发送到dll。如果该类在“主”程序中定义

比如说 主要代码:

namespace A
{
    public void callMethod()
    {
        B.method(aa);
    }

    public class aa
    {
        public aa()
        {
            this.abList = new List<ab>();
        }
        public int number {get; set;}
        public List<ab> abList {get;set;}
    }

    public class ab
    {
        public string text {get; set;}
    }
}

您需要创建一个公共库,其中包含类或实现的接口,并由两个项目引用

所以不是

  • 主要项目
    • aa
  • DLL项目
你应该

  • 主要项目
  • DLL项目
  • 普通的
    • aa
因此,您将
aa
类放在
Common
项目中,并由所有其他项目引用它

如果无法将
aa
移出
MainProj
,则可以使用公共界面。
Common
中定义如下内容:

public interface Iaa
{
    int number { get; set;}
    List<ab> abList { get; }
}

您是否尝试过添加所需的引用和使用指令?另外,这个问题写得很糟糕,你可能需要修改一下。
public interface Iaa
{
    int number { get; set;}
    List<ab> abList { get; }
}
public class aa : Iaa
{
    public aa()
    {
        this.abList = new List<ab>();
    }
    public int number {get; set;}
    public List<ab> abList {get;set;}
}
public static void method(Iaa atribute) // ??
{
    aa.number = ...
}