我有一個父類:的IEnumerable <>實例化爲名單<>,但不能添加元素
public abstract class ObjectCollection
{
protected IEnumerable<MyObject> Objects;
public ObjectCollection()
{
LoadObjects();
}
}
而且從它繼承一個子類:從MyObject
public class PublicationCollection : ObjectCollection
{
public PublicationCollection() : base() { }
protected override void LoadObjects()
{
this.Objects = new List<PublicationObject>();
this.Objects.Add(new PublicationObject("Example"));
}
}
PublicationObject
繼承。
行this.Objects.Add(new PublicationObject("Example"));
拋出一個錯誤,因爲編譯器將它視爲IEnumerable
,儘管我已將它實例化爲List<>
。我怎樣才能達到我想要的?
*爲什麼*您是否在'IEnumerable'中輸入了'Objects',因爲您需要一個允許添加項目的類型實例? –
將其列表或將其轉換爲列表。 –
因爲當我在父類中使用列表時,我收到了一個轉換錯誤。 –