没有头文件的概念,有命名空间
如果MyFile2.cs 和 MyFile1.cs在一个命名空间下的话,可以直接引用D
D d = new D();
如果不是同一个命名空间,那么引用的时候要带上命名空间。
SampleNamespace.D d = new SampleNamespace.D();

解决方案 »

  1.   

    class 默认是internal的。
      

  2.   

    //希望能给楼主有些帮助。
    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{}//错误。
    }
      

  3.   


    internal不可以加把MyFile1类编译成.DLL然后在MyFile2中 using MyFile1;
      

  4.   

    public class B  // 这里public如果省略,默认是private,internal还是public?默认是internal的。
    // MyFile2.cs 
    /*
     * 如果在文件MyFile2.cs中,我想使用MyFile1.cs中的类D,该怎么引进来呢?
     * C#中没有头文件的概念,究竟该怎么样做才能使class D 在此文件中可见?
     */在MyFile2.cs中應有命名空間:假如是:project.MyFile2那麼你要使用類D
    則要在文件中加入:
    using project.MyFile2就可以用了。
    或是在使用D的時候用project.MyFile2.D 就可以了。
      

  5.   

    把MyFile1类编译成.DLL,在MyFile2中引用MyFile1.dll再使用 using MyFile1;
      

  6.   

    // MyFile1.cspublic class B  // 默认是internal?
    {
    // ...
    }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的名字空间
      

  7.   

    agree with above 2