C# 3.0 匿名方法實現與應用 (3):Lambda 表達式與 LINQ 查詢
Lambda 表達式語法 20 && p.Age < 35 簡化委托寫法,編譯器推斷型別。 FindAll 範例 20 && p.age < 35));
C# 3.0 匿名方法實現與應用 (4):IL 層面剖析
匿名型別 IL 實作 編譯器為匿名型別產生唯一命名類別,包含屬性、get/set、Equals、ToString 等方法。 ILDASM 觀察 範例程式碼
C# 語言未來功能展望 (4):泛型約束與執行期實例化
泛型約束 使用 where 關鍵字限定型別參數需實作介面或繼承類別: public class Dictionary<KeyType, ValType&g
C# 語言未來功能展望 (6):泛型、迭代器詳細設計
多語言泛型支援 Visual J#、C++、VB.NET 皆將支援泛型建立與使用,CLR 執行階段提供跨語言泛型基礎。 為何需要迭代器 傳統 foreach
C# 語言未來功能展望 (7):迭代器與匿名方法基礎
迭代器 使用 foreach 關鍵字定義,搭配 yield return 逐項產生值,編譯器自動建立狀態機,免手寫 IEnumerator。 範例:List
C# 語言未來功能展望 (8):匿名方法使用範例與參數傳遞
匿名方法語法 實例化委托後接大括號程式碼區塊,結尾加分號: button.Click += new EventHandler(delegate(sender,
C# 語言未來功能展望 (9):匿名方法原理、部分型別、標準化
匿名方法運作原理 編譯器將匿名方法轉換為唯一命名類別的靜態方法,委托引用該編譯器產生的方法。 部分型別 允許將單一類別定義分散在多個檔案(parti
Remoting 基本原理與擴充機制 (下-1):AppDomain 與 Context 基礎觀念
應用程式域 輕量級行程,單一 Windows Process 可容納多個 AppDomain。 建立/卸載成本低、可共享 CLR、型別、位址空
Remoting 基本原理與擴充機制 (下-2):ContextBoundObject 與 ContextAttribute
ContextBoundObject 繼承 MarshalByRefObject,實例永遠在自己的 Context 執行。 即使同一 AppD
Remoting 基本原理與擴充機制 (下-3):IContextProperty 與 MessageSink 注入機制
IContextAttribute:判斷與注入屬性 public bool IsContextOK(Context ctx, IConstructionCall
Remoting 基本原理與擴充機制 (下-4):Context 區域與 MessageSink Region
四大介面對應四個區域 IContributeEnvoySink:信使區域(呼叫端 Context)。 IContributeServerCon
Remoting 基本原理與擴充機制 (中-1):利用 ChannelProvider 擴充 MessageSink
背景與動機 ChannelSink 僅能操作已序列化的資料流。若要攔截原始訊息物件(修改參數、回傳值、AOP),需在 Formatter 前插入 IMessag
Remoting 基本原理與擴充機制 (中-2):Pipeline 概念與 ChannelSink 鏈建立
Pipeline 抽象概念 Pipeline 非單一物件,而是從 RealProxy 到 StackBuildSink 經過的所有 Sink 集合。RealPr
Remoting 基本原理與擴充機制 (中-3):ChannelSink 鏈內部實作與 SoapClientFormatterSink
InternalInvoke 中的鏈建立邏輯 if (identity.ChannelSink == null) { IMessageSink envo