【发布时间】:2011-06-05 03:12:24
【问题描述】:
基类具有List<SomeEnum> 类型的只读 字段,派生类将对其进行初始化。现在,有一个派生类,我想在其中添加 SomeEnum 的所有值。一种方法是把所有的枚举值都打进去,但是枚举有点大,有没有其他办法呢?
public class Base
{
private readonly List<SomeEnum> _list;
protected Base(List<SomeEnum> list)
{
_list = list;
}
}
public class Derived : Base
{
public Derived() : base(new List<SomeEnum>() { Enum.GetValues(typeof(SomeEnum)) }
{
}
}
(上面的代码不会编译,我相信初始化器不接受数组。)
【问题讨论】:
-
您可能希望在基本构造函数中接受
IEnumerable<SomeEnum>或IList<SomeEnum>以提高灵活性。
标签: c# list initializer