当我实例化某些类的新列表时,我想以某种方式将参数传递到列表中。
更具体地说,我想做如下的事情:
List<FirstClass>(dataTable);
List<SecondClass>(dataTable);
如果调用了第一行代码,构造函数将以某种方式处理 dataTable,而不是调用后者(FirstClass 具有不同的字段)。
我试过的
namespace DeeMacsNamespace
{
public class FirstClass
{
public String Title { get; set; }
public String Url { get; set; }
}
public class FirstClass : List<FirstClass>
{
public FirstClass(DataTable table)
{
foreach (DataRow row in table.Rows)
{
this.Add(new FirstClass()
{
Title = (String)row["Title"]
});
}
}
}
}
我假设(或至少希望)上述方法可行。但是,我如何才能最有效地重用从DataTable
一个非常相似的构造函数中读取的代码,用于某个类的另一个列表?以及如何合并条件语句来检查构造函数是否来自FirstClass
orSecondClass
类型?我想避免为 SecondClass 的类似构造函数重写它。