C#高级编程十九天----部分类

来源:互联网 发布:linux fdisk命令详解 编辑:程序博客网 时间:2024/05/10 22:02

部分类

C#中使用关键字partial把类,结构或结构放在多个文件中.一般情况下,一个类全部驻留在单个文件中.但有时候,多个开发人员需要访问同一个类,或者某种类型的代码生成器生成了一个类的某部分,所以把类放在多个文件中是有益的.

用法partial关键字放在class,structinterface关键字的前面.在下面的例子中,TheBigClass类驻留在两个不同的额源文件BigClassPart1.csBigClassPart2.cs.

//BigClassPart1.cs中的内容

partial class TheBigClass

{

public void MethodOne()

{}

}

//BigClassPart2.cs中的内容

partial class TheBigClass

{

public void Methodtwo()

{}

}

编译包含这两个源文件的项目时,会创建一个TheBigClass,有两个方法.如果声明类的同时使用了下面的关键字,这些关键字就必须应用于同一个类的所有部分:

public

private

protected

internal

abstract

sealed

new

如果其中一个类为抽象类,那合并后整个类都将被视为抽象类,其中一个类为密封类,那合并后整个类都将视为密封类。例如:

public partial class Person

{

public void Fun1()

{}

}

public partial class Person

{

public void Fun2()

{}

}

部分类的应用,可以在一个文件中声明部分类的属性,一个文件声明字段,一个文件声明方法.

案例:

using System ;

interface ImyInterface1

{

    void dosomething();

}

 

interface ImyInterface2

{

    void dosomethingelse();

}

#region 这两个类等同于下一个类

public partial class myClass:ImyInterface1

{

    public void dosomething()

    {

        Console.WriteLine ("接口1的方法");

    }

}

public partial class myClass:ImyInterface2

{

    public void dosomethingelse()

    {

        Console.WriteLine ("接口2的方法");

    }

}

 

#endregion

#region 等同于上面两个类

//public class myClass:ImyInterface1,ImyInterface2

//{

//    public void dosomething()

//    {

//        Console.WriteLine ("接口1的方法");

//    }

//    public void dosomethingelse()

//    {

//        Console.WriteLine ("接口2的方法");

//    }

//}

#endregion

class Test

{

    static void Main()

    {

        myClass a=new myClass ();

        a.dosomething ();

        a.dosomethingelse();

    }

}

0 0