擴充方法和C#dynamic
中的關鍵字
>物件的擴展方法可能導致運行時錯誤。 讓我們用一個範例來說明這一點:dynamic
<code class="language-csharp">List<int> list = new List<int>() { 5, 56, 2, 4, 63, 2 }; Console.WriteLine(list.First());</code>此程式碼可完美。 但是,如果我們嘗試以下操作:
<code class="language-csharp">dynamic dList = list; Console.WriteLine(dList.First());</code>被拋棄。 發生這種情況是因為編譯器和執行時間如何處理擴充方法和動態物件。
>。
RuntimeBinderException
>使用
>指令的編譯時間資訊。 在運行時包括此資訊將非常複雜且效率低下。 因此,C#設計師選擇不實施此功能以避免績效開銷和潛在的不穩定。 using
>
以上是為什麼擴展方法在C#中使用動態對象失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!