我创建了一个新的类库(DLL),当我试图从另一个程序集或库中的 DLL 创建一个类的对象时,它不起作用,我想一定是关于命名空间或引用问题,也许两者都是因为有不同的命名空间。
我应该是其他库名称空间,例如在其他库类的开头使用名称空间,以便能够在 DLL 中创建此类的对象吗?
我测试了右键单击其他库并选择添加对这个新 DLL 的引用,但这不起作用。一些帮助是preciated。
我创建了一个新的类库(DLL),当我试图从另一个程序集或库中的 DLL 创建一个类的对象时,它不起作用,我想一定是关于命名空间或引用问题,也许两者都是因为有不同的命名空间。
我应该是其他库名称空间,例如在其他库类的开头使用名称空间,以便能够在 DLL 中创建此类的对象吗?
我测试了右键单击其他库并选择添加对这个新 DLL 的引用,但这不起作用。一些帮助是preciated。
您需要将其添加到引用中,然后按如下方式访问它:
using MyLibrary
这应该就是你所需要的。
然后您将按如下方式访问这些方法:
var result = new MyLibrary.MyMethod()
其他答案不正确,说您必须使用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);
}
}
}
我应该是其他库名称空间,例如在其他库类的开头使用名称空间,以便能够在 DLL 中创建此类的对象吗?
是的,只要您添加对该程序集 (DLL) 的引用,并且您的库中的类型是public。
我测试了右键单击其他库并选择添加对这个新 DLL 的引用,但这不起作用。一些帮助是preciated。
为了使用库中定义的类型,这是绝对必要的。引用是允许编译器查找和使用类型的原因。
您必须首先添加引用,然后在您使用它的任何文件中,您需要using
在文件顶部添加指令。
但这还不够
您需要标记您使用的类型的命名空间(库中可能有多个命名空间)或文件顶部
使用 MyLibraryNameSpace;
或在代码行中,例如
MyLibraryNameSpace.MyLibType t = new MyLibraryNameSpace.MyLibType();