2
例如,假設我定義如下界面:城堡DynamicProxy生成的代理可以強制實現成員作爲明確的接口實現嗎?
public interface IWhatever
{
string Text { get; set; }
}
而且我在一個mixin實現它:
public class WhateverMixin : IWhatever
{
string IWhatever.Text { get; set; }
}
當我建立一些定類的一個代理,整個顯式實現的接口成員顯示爲隱式實現,因此獲得已發佈。
您是否知道是否有一些選項可以讓Castle DynamicProxy強制實施具有顯式實現的接口?
只是好奇...你知道任何其他代理生成器已經實現了這樣的功能嗎? –
不,對不起,我不知道任何其他代理生成器,儘管您可以使用[TypePipe](http://typepipe.codeplex.com/)來構建自己的代理生成器。或者,如果您只需要混入功能,則可以嘗試重新運動的[重新混合](https://remix.codeplex.com/) - 默認情況下該庫明確實現了mixin接口。 (請注意,我是這兩個庫的原始作者之一)。 –
呃,實際上另一種選擇是使用IL編織和PostSharp。在這一天結束時,如果你想知道這個Q&A的後遺症是什麼......這是因爲我去年一直在開發的一些開源代碼:http://matiasfidemraizer.com/trackerdog –