2013-09-22 67 views
3

如何使用Castle DynamicProxy用參數初始化構造函數?在這種情況下,MyClass(int)使用Castle DynamicProxy初始化參數構造函數

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

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

+0

而我使用Castle.Core.3.2.0。 – Babak

回答

3

CreateClassProxy有很多過載。包括一個在object陣列中傳遞參數的地方。這應該爲你工作:

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

下面是官方簽名:

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

+0

CreateClassProxy()的第二個參數是用於攔截器而不是參數! – Babak

+1

調整我的答案:有一個超載需要參數。 – meilke

+0

他他!我使用CreateClassProxy (),它只有2個重載。 – Babak