【问题标题】:Using Castle DynamicProxy to initialize a constructor with parameters使用 Castle DynamicProxy 初始化带参数的构造函数
【发布时间】:2013-09-22 16:33:56
【问题描述】:

如何使用Castle DynamicProxy来初始化带参数的构造函数?在这种情况下MyClass(int)

public class MyClass
{
   public MyClass(){}
   public MyClass(int p1){}
}

目前,CreateClassProxy() 初始化 MyClass()

【问题讨论】:

  • 我正在使用 Castle.Core.3.2.0。

标签: c# castle-dynamicproxy


【解决方案1】:

CreateClassProxy 有很多重载。包括在object 数组中传递参数的位置。这应该适合你:

generator.CreateClassProxy(typeof(MyClass), new object[] { (int)2 });

这是官方签名:

public object CreateClassProxy(Type classToProxy, object[] constructorArguments, params IInterceptor[] interceptors);

【讨论】:

  • CreateClassProxy()的第二个参数是拦截器,不是参数!
  • 调整了我的答案:有一个带参数的重载。
  • 嘿嘿!我正在使用只有 2 个重载的 CreateClassProxy()。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多