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類別並覆寫與實作該方法。

 

參考資料:

Encoding 類別