代码之家  ›  专栏  ›  技术社区  ›  Vlad

如何将VB类添加到类库中?

  •  2
  • Vlad  · 技术社区  · 6 年前

    我做了一个新的vs 2005类库项目,并在其中添加了几个vb.net类。但是,当我编译项目并将DLL导入到其他项目中时,我看不到我的类。

    我做错了什么,我该怎么做才能把它添加到编译中呢?

    2 回复  |  直到 6 年前
        1
  •  4
  •   Steven Doggart    6 年前

    可能发生这种情况的原因有很多,因此如果没有更多的信息,就不可能确切地说出原因,但最可能想到的原因是:

    • 类库中的类不能声明为 Public . 如果它们被声明为 Friend (或) Private 如果它们是嵌套类型),则它们对于使用该库的其他项目将不可见。类应该这样声明: Public Class MyClass
    • 使用代码未指定命名空间。除非类库中声明类的命名空间与尝试调用它的代码相同,否则使用代码需要导入类库的命名空间,或者在使用类名时需要完全限定类名。要导入命名空间,请在使用该类的代码文件的顶部添加一行,如下所示: Imports MyClassLibraryNamespace (但使用实际的名称空间)。要完全限定内联类名,可以这样做: Dim myVariable As New MyClassLibraryNamespace.MyClass
        2
  •  2
  •   Bart Hofland    6 年前

    是否使用了显式访问修饰符( Public Friend )在你的班级图书馆上课?如果没有,它将默认为 朋友 . 这意味着您的类只在该程序集(类库)中可见。

    因此,您可能希望将类库中的某些特定类公开:

    Public Class MyClass
        ...
    End Class
    

    编辑:正如StevenDoggart指出的,vb.net类在默认情况下是公共的。所以这可能不是问题,除非您显式地使用了另一个访问修饰符。