没有头文件的概念,有命名空间
如果MyFile2.cs 和 MyFile1.cs在一个命名空间下的话,可以直接引用D
D d = new D();
如果不是同一个命名空间,那么引用的时候要带上命名空间。
SampleNamespace.D d = new SampleNamespace.D();
如果MyFile2.cs 和 MyFile1.cs在一个命名空间下的话,可以直接引用D
D d = new D();
如果不是同一个命名空间,那么引用的时候要带上命名空间。
SampleNamespace.D d = new SampleNamespace.D();
using System;
//引用另一个组件的命名空间
using ZZ1;namespace ZZ
{
class ZZConsole
{
[STAThread]
static void Main(string[] args)
{
ZZ1.MM();//正确
ZZ1.ZZB.ZZC.ZZCMM();//错误
ZZ1.ZZB.ZZD = new ZZ1.ZZB.ZZD();//正确
ZZ1.ZZE = new ZZE();//正确,说明在命名空间下的Class默认修饰符是public的,也可能是internal的没试过。
}
}
}//另一个组件
namespace ZZ1
{
public class ZZB
{
public static void MM(){}
class ZZC
{
public static void ZZCMM(){}
}
public class ZZD
{}
}
class ZZE :ZZB
{}
class ZZG :public ZZB{}//错误,说明不能加
class ZZF :ZZB.ZZC{}//错误。
}
internal不可以加把MyFile1类编译成.DLL然后在MyFile2中 using MyFile1;
// MyFile2.cs
/*
* 如果在文件MyFile2.cs中,我想使用MyFile1.cs中的类D,该怎么引进来呢?
* C#中没有头文件的概念,究竟该怎么样做才能使class D 在此文件中可见?
*/在MyFile2.cs中應有命名空間:假如是:project.MyFile2那麼你要使用類D
則要在文件中加入:
using project.MyFile2就可以用了。
或是在使用D的時候用project.MyFile2.D 就可以了。
{
// ...
}public class D : B // B前面不可加修饰符号吗,与你声明B时代码有关,
//在这里不能改变B的范围
{
// ...
}// MyFile2.cs
/*
* 如果在文件MyFile2.cs中,我想使用MyFile1.cs中的类D,该怎么引进来呢?
如果你用vs.net,只要命名控件一样直接就可以访问,如果你用csc直接编译MyFile2.cs
和MyFile1.cs,就需要将两个文件编译成一个exe或一个dll,. net叫程序集,参数一大堆,你自己查帮助吧。 * C#中没有头文件的概念,究竟该怎么样做才能使class D 在此文件中可见?
using class D的名字空间