0

我创建了一个新的类库(DLL),当我试图从另一个程序集或库中的 DLL 创建一个类的对象时,它不起作用,我想一定是关于命名空间或引用问题,也许两者都是因为有不同的命名空间。

我应该是其他库名称空间,例如在其他库类的开头使用名称空间,以便能够在 DLL 中创建此类的对象吗?

我测试了右键单击其他库并选择添加对这个新 DLL 的引用,但这不起作用。一些帮助是preciated。

4

5 回答 5

1

您需要将其添加到引用中,然后按如下方式访问它:

 using MyLibrary

这应该就是你所需要的。

然后您将按如下方式访问这些方法:

 var result = new MyLibrary.MyMethod()
于 2012-07-30T15:29:30.740 回答
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);
        }
    }
}
于 2012-07-30T15:49:10.670 回答
1

我应该是其他库名称空间,例如在其他库类的开头使用名称空间,以便能够在 DLL 中创建此类的对象吗?

是的,只要您添加对该程序集 (DLL) 的引用,并且您的库中的类型是public

我测试了右键单击其他库并选择添加对这个新 DLL 的引用,但这不起作用。一些帮助是preciated。

为了使用库中定义的类型,这是绝对必要的。引用是允许编译器查找和使用类型的原因。

于 2012-07-30T15:29:02.643 回答
0

您必须首先添加引用,然后在您使用它的任何文件中,您需要using在文件顶部添加指令。

于 2012-07-30T15:29:19.570 回答
0
  • 首先,您需要添加对库的引用(我想您是这样做的)

但这还不够

  • 您需要标记您使用的类型的命名空间(库中可能有多个命名空间)或文件顶部

    使用 MyLibraryNameSpace;

或在代码行中,例如

MyLibraryNameSpace.MyLibType t = new MyLibraryNameSpace.MyLibType();
于 2012-07-30T15:30:43.677 回答