2017-11-18 71 views
0

documentation什麼interace爲的System.Array類的運行時實現在.net中是什麼意思?

[...] Array類實現了System.Collections.Generic.IList<T>System.Collections.Generic.ICollection<T>System.Collections.Generic.IEnumerable<T>通用接口。 實現在運行時提供給數組,因此對文檔構建工具不可見。

這是提供給C#開發人員。我的意思是我可以提供運行時實現到任何類的接口嗎?

+0

文檔只能拿你這一步,如果你想進一步挖掘,閱讀源代碼,https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/ Array.cs –

+1

https://stackoverflow.com/q/11163297/17034 –

+0

感謝@HansPassant。正是我需要的。 –

回答

2

是,數組是特殊的,準確地表現爲鏈接的文件說。

不,你不能隨心所欲(甚至特定的)接口的類在運行時,除非你正在創建自己的實現CLR的補充。

注意,有很多方法來模擬接口加入喜歡的擴展方法或代理類包裝的對象,但有添加接口類動態沒有真正的辦法的行爲。

+0

感謝您的解釋。所以,這個動態接口實現是CLR內置的邏輯,只適用於數組類型。 –