编程语言
首页 > 编程语言> > c#-使用内部构造函数为抽象类创建动态代理

c#-使用内部构造函数为抽象类创建动态代理

作者:互联网

我想为BCL中的一种类型创建动态代理,该类型是具有内部构造函数的抽象类.我一直是Castle的动态代理,但失败并显示异常,指出没有无参数构造函数(它们是-内部).

有什么办法可以通过城堡实现这一目标?是否没有其他动态代理框架能够做到这一点?这是开发的开始,因此很容易更改框架.

解决方法:

DynamicProxy无法完成您在C#中无法完成的任何工作.因此,它不能从无法构造的类型继承,包括没有DynamicProxy可访问的构造函数的类型.

如果您拥有程序集,则可以通过添加以下内容,通过AssemblyInfo.cs提供DynamicProxy访问:

[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]

需要注意的重要一点是字面值DynamicProxyGenAssembly2,它是由DynamicProxy创建的内存中程序集,您需要为其提供访问权限.

标签:dynamic-proxy,proxy,dynamic,castle-dynamicproxy,c
来源: https://codeday.me/bug/20191101/1983914.html