C#中,能不能将类的定义和实现分开,就像c++中 .h 和.cpp那样?我用的是vc# 2005

解决方案 »

  1.   

    楼主的意思是方法先像C或C++中,先申明一个(即将结构放在一个文件.h中),然后呢将具体实现成员函数时另放在一个文件(.cpp)中吧。在CS中,还没有看到这样做过,但VS提供了一个partitail关键字,可以将你分在几个文件中的该类的各部份定义集成在一起,形成一个完整的类。如果你非想用那种模式呢,可以有一个变通的变法,你将要在h文件中表达的内容定义为基类,将其方法定义为abstract,然后呢派生一个类出来,进行操作。但这样来实现你的一个类分离,好像没太大意义。例:
    // 头文件
    abstract public class myheader
    {
    protected int myvar;
    abstract public GetVar();
    }// 实现文件
    public public class mycpp:myheader
    {
    public mycpp()
    {
    myvar=0;
    }
    override public GetVar()
    {
    return myvar;
    }
    }
      

  2.   

    谢谢ls.不过,除了ls的方法,再没有其它的方法了么?
      

  3.   

    在vc中,可以做一个dll.给出dll的头文件.在使用这个dll的程序里,包含头文件,使用头文件中的方法,加载dll.
    我想,在c#中是不是也可以这样呢.就是,将一个完整的class 做成dll,再写一个只包含这个类属性和方法声明的文件.
    这个文件就像 c++ 中的.h.然后像在vc中那样,来使用这个dll???
    不知道这样做行不行???
      

  4.   


    pratial就有点这个意思
     form1.designer.cs
    public partial class Form1 : Form
    与form1.cs
    public partial class Form1 : Form
      

  5.   

    你必须改变你的习惯,规矩就是规矩...而且“将类的定义和实现分开”并没有特别的好处...5楼的方法中...partitail分部类只是允许一个类可以用多个源码文件,并不能“将类的定义和实现分开”...abstract抽象类更不是做这个用的,特别是不像C++的多根继承,C#是单根继承的,一旦你继承了一个抽象类就不能在继承其他类...