我已经创建了一个新的类库(DLL),当我试图从另一个程序集或库中的DLL创建一个类的对象时,它不起作用,我想必须有关于命名空间或参考问题,也许两者都有不同的命名空间。
我应该是其他库命名空间,比如在其他库类的开头使用命名空间,以便能够在DLL中创建此类的对象吗?
我测试了右键单击其他库的on并选择Add this reference to this new DLL,但这不起作用。一些帮助是预先确定的。
答案 0 :(得分:1)
我应该是其他库命名空间,比如在其他库类的开头使用命名空间,以便能够在DLL中创建此类的对象吗?
是的,前提是您添加了对该程序集(DLL)的引用,并且库中的类型是 public 。
我测试了右键单击其他库的on并选择Add this reference to this new DLL,但这不起作用。一些帮助是预先确定的。
为了使用库中定义的类型,这是绝对必需的。该引用允许编译器查找和使用类型。
答案 1 :(得分:1)
您需要将其添加到引用中,然后按如下方式访问它:
using MyLibrary
这应该是你所需要的一切。
然后您将按如下方式访问这些方法:
var result = new MyLibrary.MyMethod()
答案 2 :(得分:1)
其他答案不正确,说您必须使用using
。您根本不需要 来使用using
语句。另一方面,参考文献是必需的。
例如,假设您已创建一个名为TwentyNine.dll
的程序集,包括此类型声明:
namespace Kreativ.Application.One
{
public class SomeClass
{
public static int GetSomeResult()
{
return 863;
}
}
}
现在,您正在创建一个新应用程序,并且您想要调用GetSomeResult()。 您必须在新项目中添加对TwentyNine.dll的引用。
最常见的是,您可以通过这种方式调用方法:
using Kreativ.Application.One;
using System;
namespace Kreativ.Application.Two
{
public class MainClass
{
public static void Main()
{
int i = SomeClass.GetSomeResult();
Console.WriteLine(i);
}
}
}
但您可以在不使用using
的情况下执行此操作:
namespace Kreativ.Application.Two
{
public class MainClass
{
public static void Main()
{
int i = Kreativ.Application.One.SomeClass.GetSomeResult();
System.Console.WriteLine(i);
}
}
}
答案 3 :(得分:0)
您必须首先添加引用,然后在您使用它的任何文件中,您需要在文件顶部添加using
指令。
答案 4 :(得分:0)
但这还不够
您需要对您使用的类型的命名空间进行decalre(您的库中可能有多个namepsace)或文件顶部
使用MyLibraryNameSpace;
或在代码行中,如
MyLibraryNameSpace.MyLibType t = new MyLibraryNameSpace.MyLibType();