發表文章

目前顯示的是 7月, 2009的文章

Implicit / Explicit Implementation of Interface in C#

介面繼承的成員實作有兩種方法,分別為 Implicit 及 Explicit(C# Primer 翻作「顯示實現」)。 使用 Explicit 的方式來實作的物件,在使用時必須明確宣告介面名稱,才能調用介面中定義的成員,而使用一般 Implicit 的方式實作的物件可以直接調用成員而不必進行宣告或轉型的動作。 因此,若介面中有定義 Value Type 的成員時,使用 Explicit 的方式來實作將面臨 Boxing 所損失效能的問題。 什麼時候會用到 Explicit 的方式來實作呢?在參考資料的第二個連結有解說。在多重繼承介面時,若多個介面中有相同名稱的成員,使用 Explicit Implementation 可以避免問題的產生。 參考資料: Implicit / Explicit Implementation of Interface in C# Implicit versus Explicit Interface implementation (C#)

C# 4.0 - Optional Parameter

我們常常會為某個方法撰寫多型,C# 4.0 中有比較容易實作的方法。(原文有提到在其它語言中早已有類似的語法,不過我不知道是哪種) 這語法用文字解釋起來還蠻麻煩的,直接 參考連結 中的範例比較容易理解。

C# 4.0 - Dynamic Programming

C# 4.0 新增了一個 key word - dynamic 。.它允許我們宣告一個在 compile-time 時型別為 dynamic 的物件,並在 run-time 時才決定物件真正的型別。要注意的是 dynamic 和 var 之間的差別, var 物件在 compile-time 時就要確定型別了,因此 var 有時也被翻譯成「隱含型別」。 參考連結 有範例可以參考。