Search code examples
c#castle-dynamicproxy

Using Castle DynamicProxy to initialize a constructor with parameters


How to use Castle DynamicProxy to initialize a constructor with parameters? In this case MyClass(int).

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

Currently, CreateClassProxy() initializes MyClass().


Solution

  • CreateClassProxy has a lot of overloads. Including one where you pass parameters in an object array. This should work for you:

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

    Here is the official signature:

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