位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

C# 部分类定义

提问人:刘团圆发布时间:2020-12-07

    如果所创建的类包含一种类型或其他类型的许多成员时,就很容易引起混淆,代码文件也比较长。这时可以给代码分组。在代码中定义区域,就可以折叠和展开各个代码区,使代码更便于阅读。例如,有一个类的定义如下:

public class MyClass

{

    #region Fields 

    private int mylnt;

    #endregion

    #region Constructor

    public MyClass() { mylnt = 99; }

    #endregion 

    #region Properties 

    public int Mylnt 

    {

        get { return mylnt; } 

        set { mylnt = value; }

    }

    #endregion 

    #region Methods 

    public void DoSomething() 

    {

        // Do something..

    }

    #endregion

}

    上述代码可以展开和折叠类的字段、属性、构造函数和方法,以便集中精力考虑自己感兴趣的内容。甚至可按这种方式嵌套各个区域,这样一些区域就只有在包含它们的区域被展开后才能看到。

    另一种方法是使用部分类定义(partial class definition)。简言之,就是使用部分类定义,把类的定义放在多个 =文件中。例如,可将字段、属性和构造函数放在一个文件中,而把方法放在另一个文件中。为此,在包含部分 =类定义的每个文件中对类使用partial关键字即可,如下所示:

    public partial class MyClass {  ...}

    如果使用部分类定义,partial关键字就必须出现在包含部分类定义的每个文件的与此相同的位置。

    例如,类MainWindow中的WPF窗口将代码存储在两个文件MainWindow.xaml.cs和MainWindow.g.i.cs中(在Solution Explorer中选择Show All Files并打开obj\Debug文件夹就可以看到它们)。这样就可以重点考虑窗体的功能,不必担心代码会被自己不感兴趣的信息搅乱。

    对于部分类,最后要注意的一点是:应用于部分类的接口也会应用于整个类,也就是说,下面的两个定义:

public partial class MyClass : IMylnterfacel { ... } 

public partial class MyClass : IMyInterface2 { ... }

public class MyClass : IMylnterfacel, IMylnterface2 { ... }

    是等价的。

    部分类定义可以在一个部分类定义文件或者多个部分类定义文件中包含基类。但如果基类在多个定义文件中指定,它就必须是同一个基类,因为在c#中,类只能继承一个基类。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部