【发布时间】:2014-12-04 10:52:39
【问题描述】:
我有一个像这样的Conversion 类:
public class Conversion
{
public memorySource MSource { get; set; }
public Rule[] Rules { get; set; }
public Conversion(XElement xElement)
{
// I use Rules property here
// From Rules property and xElement parameter i initialize MSource Property
}
public Conversion(ExcelPackage)
{
// Also i use Rules property here
// From Rules property and xElement parameter i initialize MSource Property
}
}
当我想构造Conversion 类的实例时,我这样做:
Conversion cvr = new Conversion(xElement) { Rules = rules };
然后我得到这个错误:
对象引用未设置为对象的实例
我知道对象的构造是在初始化属性之前开始的,但是有没有办法逆向?
我可以使用 Rules 属性作为构造函数的参数,但它不适合性能,因为我有多个构造函数。
【问题讨论】:
-
您必须在构造函数中初始化规则,或者添加另一个接受规则的构造函数,如您所说。没有别的办法
标签: c# .net constructor object-initializers