我想为BCL中的一个类型创建动态代理,该类型是一个带有内部构造函数的抽象类。我是Castle的动态代理,但这失败了,出现了一个异常,声明没有无参数的构造函数(它们是-它是内部的)。
有没有办法用城堡来达到这个目的?如果不是,其他任何动态代理框架都能做到这一点吗?这是开发的开始,因此很容易更改框架。

最佳答案

dynamicproxy不会做任何你在c里做不到的事情。因此它不能从它不能构造的类型继承,包括没有dynamicproxy可访问的构造函数的类型。
如果您拥有程序集,则可以通过assemblyinfo.cs提供dynamicproxy访问,方法是添加:

[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]

需要注意的重要一点是文本值DynamicProxyGenAssembly2这是由dynamicproxy创建的内存中程序集,您需要提供它的访问权限。

10-06 15:55