簡體   English   中英

在Script#中,如何枚舉一個繼承人的列表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM