2011-12-03 2 views
0

Script#では、どのようにして継承するリストを列挙できますか?この例では

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); 
} 

私はLearningScriptSharp.MyList<T>GetEnumeratorの公開定義が含まれていないため、エラー

foreach文はタイプLearningScriptSharp.MyList<T>の変数を操作することはできません取得します。

このリストはどのように列挙できますか?

答えて

3

まず、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); 
} 
関連する問題