上一章介紹預設的 static/dynamic object 轉換,這一章介紹自訂。

要讓 static object 可以有 dynamic object 的介面,就要實作 IDynamicMetaObjectProvider,這樣當程式遇到 dynamic v=new Customer(); 時,實際上會是先呼叫 IDynamicMetaObjectProvider.GetMetaObject。預設是會直接傳回 DynamicMetaObject。這裡的範例,就是藉著實作 IDynamicMetaObjectProvider,然後自訂一個新的 DynamicMetaObject: ConstantMetaObject,override BindGetMember,來讓執行結果與 static object 有所差異。

到 Page 115.

More about Pro DLR in .NET 4

arrow
arrow
    全站熱搜

    elleryq 發表在 痞客邦 留言(0) 人氣()