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的方式,擴充功能。
一天一分享,身體好健康。
該追究的不是過去的原因,而是現在的目的。