我正在使用该CreateClassProxyWithTarget
方法装饰现有对象。但是,构造函数和初始化代码被调用了两次。我已经有一个“构造”实例(目标)。我理解为什么会发生这种情况,但是除了使用空的构造函数之外,有没有办法避免它?
编辑:这是一些代码:
首先创建代理:
public static T Create<T>(T i_pEntity) where T : class
{
object pResult = m_pGenerator.CreateClassProxyWithTarget(typeof(T),
new[]
{
typeof(IEditableObject),
typeof(INotifyPropertyChanged) ,
typeof(IMarkerInterface),
typeof(IDataErrorInfo)
},
i_pEntity,
ProxyGenerationOptions.Default,
new BindingEntityInterceptor<T>(i_pEntity));
return (T)pResult;
}
例如,我将它与以下类的对象一起使用:
public class KatalogBase : AuditableBaseEntity
{
public KatalogBase()
{
Values = new HashedSet<Values>();
Attributes = new HashedSet<Attributes>();
}
...
}
如果我现在调用BindingFactory.Create(someKatalogBaseObject);
和
属性正在重新初始化。Values
Attributes