国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中分部類和分部方法的應用

2020-01-24 03:25:09
字體:
來源:轉載
供稿:網友

分部類(Partial Class)在C#2.0引入,分部方法(Partial Method)在C#3.0引入,這兩個語法特性都具有相同的特性:將類(或)方法的代碼分散在多個地方。

1.分部類的特性和應用

1.1分部類的定義

在定義一個類時,加上partial關鍵字,此類即成為分部類。

分部類允許將一個類的代碼分散于一個以上的源代碼文件中。

Person.cs代碼如下

復制代碼 代碼如下:

namespace PartialClassDemo1
 {
     public partial class Person
     {
         private int age;
         Person(int age, string name)
         {
             this.age = age;
             this.name = name;
         }
         public int Age
         {
             get
             {
                 return age;
             }
             set
             {
                 if (age < 0 || age > 120)
                     Console.WriteLine("年齡非法");
                 else
                     this.age = Age;
             }
         }
         static void Main(string[] args)
         {
             Person p = new Person(19,"張三");
             Console.WriteLine(p.Age);
             Console.ReadKey();
         }
     }
 }

Person2.cs代碼如下
復制代碼 代碼如下:

namespace PartialClassDemo1
{
    public partial class Person
    {
        private string name;
    }
}

使用分部類時,需要注意一下原則:

(1)所有的需要“合并”的類必須都用partial關鍵字聲明。

(2)所有的需要“合并”的類必須位于同一個項目中。

2.為什么要引入分部類

分部類主要用于隔離來源不同,功能不同或者類型不同的源代碼

 另外分布特性還可以用具結構和接口

3.分布方法的特性和應用

分布方法允許將方法聲明與方法實現代碼分布于不同的文件中。與分部類類似,使用partial關鍵字定義分部方法。

復制代碼 代碼如下:

       partial void show(string str);
        partial void show(string str)
        {
            Console.WriteLine(str+"再見");
        }


分布方法不能具有訪問修飾符或virtual、abstract、override new sealed 或者extern修飾符

partial修飾符只能出現在緊靠class struct interface void前面的位置

 當分部方法沒有實現代碼時,C#編譯器會在編譯時刪除其調用語句。

現在我們知道了分部方法有這種特性,但是它有什么用呢?

使用分部方法允許我們在一個普通方法中插入一個方法占位符,從而為編寫可隨時添加功能的方法提供支持。

分部方法不能有多個實現。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪湖市| 洱源县| 吴川市| 凯里市| 吉林省| 陇南市| 兰州市| 商河县| 武川县| 济南市| 金乡县| 土默特左旗| 大余县| 沐川县| 自贡市| 华坪县| 安塞县| 乳源| 泽库县| 南雄市| 莆田市| 肇源县| 家居| 威远县| 自治县| 铁岭市| 瑞安市| 甘泉县| 汾阳市| 夏邑县| 叶城县| 湾仔区| 财经| 青神县| 西丰县| 陆川县| 临沭县| 隆子县| 万荣县| 舒兰市| 循化|