Encoding 類別
觀察Encoding類別是一個抽象類別(abstract),有一些值得注意的特點。
一、靜態屬性
Encoding類別底下有七種靜態屬性分別是
public static Encoding ASCII { get; }
public static Encoding BigEndianUnicode { get; }
public static Encoding Default { get; }
public static Encoding Unicode { get; }
public static Encoding UTF32 { get; }
public static Encoding UTF7 { get; }
public static Encoding UTF8 { get; }
如果呼叫ASCII屬性則會回傳ASCIIEncoding型別的物件、
呼叫BigEndianUnicode屬性則回傳UnicodeEncoding型別的物件,
剩下靜態屬性回傳的型別也是差不多的。
二、虛擬和抽象方法
發現Encoding類別底下有大量的虛擬和抽象方法,
如GetByteCount、GetBytes、GetCharCount、GetChars,這可能表示什麼?
原設計者已經規劃了要讓ASCIIEncoding 類別、UnicodeEncoding 類別、
UTF32Encoding 類別、UTF7Encoding 類別、UTF8Encoding 類別來Encoding類別並覆寫與實作該方法。
參考資料: