我在c ++中使用这个代码在我的其他应用程序中使用了一个类(我之前定义的)。
#include class_name ;
如何定义可在所有应用中使用的公共类? 感谢
答案 0 :(得分:3)
要从外部程序集访问类,您必须add a reference到外部程序集。这将允许您从外部程序集访问public
类。
要从当前范围之外的class
指定namespace
,您必须在班级的类型说明符前加上namespace
名称。为了避免这种开销,你可以"包括"外部namespace
与using
directive。
单个程序集中可以存在多个名称空间。
装配水果:
namespace Common
{
public class Strange
{
var mystery = new Mystery() // Won't compile, no reference to Mystery.
}
}
namespace Fruit
{
public class Orange
{
}
}
装配蔬菜:
参考水果
namespace Common
{
public class Mystery
{
}
}
namespace Fungi
{
public class Mushroom
{
}
}
namespace Vegetables
{
using Common;
public Class Carrot
{
var strange = new Strange() // Compiles correctly.
var mystery = new Mystery() // Compiles correctly.
var orange = new Orange() // Won't compile, what's an Orange?
var orange = new Fruit.Orange() // Compiles correctly.
var mushroom = new Mushroom() // Won't compile, what's a Mushroom?
var mushroom = new Fungi.Mushroom() // Compiles correctly.
}
}
答案 1 :(得分:2)
您需要创建一个类库项目,该项目将编译为DLL文件。
然后,您可以在其他项目中添加对它的引用。
答案 2 :(得分:0)
您必须如下所示包含命名空间,并在其他项目中添加任何引用。
using class_namespace;
答案 3 :(得分:0)
如果另一个类是public
或internal
(并且在同一个程序集中,如果它们是内部的),是在同一个项目中,并且具有相同的命名空间,那么您不需要做任何事情。只需使用它的类名,您就可以引用另一个类。
如果它们位于不同的名称空间中,那么您可以使用using
语句(位于文件顶部)将其他名称空间放入范围,或者您可以使用完全限定名称引用其他类(即每次使用课程时都要OuterNamespace.InnerNamespace.ClassName
)。 (几乎没有人做过,每个人都只使用using
语句,因为它们更方便。)
如果该类完全在另一个项目中,那么您将需要通过visual studio添加对该类的引用。如果您正在创建一个旨在被其他项目引用的项目,那么它的项目类型应该是“类库”。
答案 4 :(得分:0)
每个类都是在命名空间
下创建的namespace abc{
public MyClass{
//functionality
}
}
要在不同的应用程序上使用您的类,您需要导入命名空间。
using abc;
public class usingClass{
MyClass obj = new MyClass();
}