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 –