[英]In Script#, how can one enumerate a list that one inherits from?
在此示例中:
abstract class MyList<T>: List<T>
{
public T Find(int? id)
{
foreach(T obj in this)
{
if(Compare(id, obj))
return obj;
}
return default(T);
}
protected abstract bool Compare(int? id, T obj);
}
我得到錯誤
foreach語句無法對
LearningScriptSharp.MyList<T>
類型的變量進行操作,因為LearningScriptSharp.MyList<T>
不包含GetEnumerator
的公共定義。
我如何枚舉此列表?
首先,顯然不能在Script#中定義通用類型...編譯器失敗,沒有錯誤消息。
因此,除非有人有更好的建議,否則我將繼續這樣做:
abstract class MyList
{
private List<Object> innerList = new List<Object>();
public Object Find(int? id)
{
foreach(Object obj in innerList)
{
if(Compare(id, obj))
return obj;
}
return default(Object);
}
protected abstract bool Compare(int? id, Object obj);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.