2013-09-22 8 views
3

Как использовать Замок 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

 Смежные вопросы

  • Нет связанных вопросов^_^