我有一个名为Fred的类,其构造函数采用参数parmA,我想将其传递给名为MyList的类型MultiCtorClass的通用List的初始化。
MultiCtorClass的默认构造函数将ParmB传递给它的基础;我想调用MultiCtorClass的另一个构造函数,从Fred的初始化中传入parmA。
public class Fred
{
public Fred(parmType parmA)
{
MyList = new List<MultiCtorClass>();
}
public IEnumerable<MultiCtorClass> MyList { get; set; }
}
public class MultiCtorClass : MyBase
{
public MultiCtorClass()
: this(parmB)
{
}
public MultiCtorClass(parmType parm)
: base(parm)
{
}
}
我实际上是在尝试执行以下操作:
public Fred(parmType parmA)
{
MyList = new List<MultiCtorClass(parmA)>();
}
如何实现这一目标?
答案 0 :(得分:4)
在任何一种情况下你都没有调用任何构造函数 - 列表为空。您只在创建新项目时调用构造函数,例如
MyList.Add(new MultiCtorClass(...));
你可以随意选择你的构造函数:)