Class and Partial Class demo

Class and Partial Class demo

存取修飾詞

public class Dog
{
    // private 只能被使用在此class
    private void Foo() 
    { 
    
    }

    // public 任何程式碼都能使用
    public void Walk() 
    { 
    
    }

    // protected 能被使用在此class,或者繼承此class的子類別
    protected void Pee() 
    { 
    
    }

    // internal 同一個組件的程式碼都能使用
    internal void Eat() 
    { 
    
    }
}

Partial Classes

  • 可用多個檔案(.cs),定義一個類別
  • 編譯時期,會將多個檔案組合一起編譯
  • 通常用在程式碼自動產生的情境

我新增了一個Dog類別,拆成兩個檔案,檔案名稱分別叫做Dog1.cs、Dog2.cs

使用方法,在宣告class 的前面加上partial,且class名稱都要一樣,都命名為Dog

Dog1.cs

public partial class Dog
{
    public void Walk()
    {
        Console.WriteLine("Walk");
    }
}

Dog2.cs

public partial class Dog
{
    public void Eat()
    {
        Console.WriteLine("Eat");
    }
}
static void Main(string[] args)
{
    Dog dog = new Dog();
    dog.Walk();
    dog.Eat();
}

這就是partial的用法,寫C#,到處都看的到他的蹤影,尤其在使用T4 Template產生程式碼的時候,為了防止改變後的程式碼被T4覆蓋,所以使用partial的方式,擴充功能。

 

 

一天一分享,身體好健康。

該追究的不是過去的原因,而是現在的目的。