在.NET中,在mscorlib
中有一個名爲System.Text.Encoding
的類。但是當你做System.Text.Encoding.ASCII
時,你可以訪問ASCII編碼類。System.Text.Encoding類如何工作?
起初,我thiught這是一類這樣的事情類:
class Encoding {
class ASCII { ... }
...
}
但令人困惑的是,你還可以使用System.Text.ASCIIEncoding
訪問相同的功能。不能反編譯.NET(因爲.NET反射器花錢,我不理解IL [那麼ildasm]),我無法圍繞兩個類是如何平等的。它可能是這樣的嗎?
class ASCIIEncoding {
internal ASCIIEncoding() { ... }
/* static functions */
}
static class Encoding {
public static readonly ASCIIEncoding ASCII = new ASCIIEncoding();
...
}
這似乎是最有可能的方式,但函數原型爲
public static Encoding ASCII { get; }
返回從Encoding
deriviated無厘頭類的編碼與編碼類型類(ASCII, UTF-(7/8/16/32)等),這意味着ASCIIEncoding
也需要這些變量,否?
任何人都可以幫助澄清這種困惑?
對於.NET源代碼,請參閱:http://referencesource.microsoft.com/netframework.aspx –
在移動設備上開發軟件? –