C# 在脚本#中,如何枚举从中继承的列表?

C# 在脚本#中,如何枚举从中继承的列表?,c#,script#,C#,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 abs

在本例中:

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);
}
抽象类MyList:列表
{
公共找不到(int?id)
{
foreach(本文件中的目标)
{
if(比较(id,obj))
返回obj;
}
返回默认值(T);
}
受保护的抽象布尔比较(int?id,T obj);
}
我得到了错误

foreach语句无法对类型为
LearningScriptSharp.MyList
的变量进行操作,因为
LearningScriptSharp.MyList
不包含
GetEnumerator
的公共定义


如何枚举此列表?

首先,显然不能在脚本#中定义泛型类型。。。编译器失败,没有错误消息

所以我要说,除非有人有更好的建议:

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);
}
抽象类MyList
{
私有列表innerList=新列表();
公共对象查找(int?id)
{
foreach(innerList中的对象obj)
{
if(比较(id,obj))
返回obj;
}
返回默认值(对象);
}
受保护的抽象布尔比较(int?id,Object obj);
}

首先,显然不能在脚本中定义泛型类型#。。。编译器失败,没有错误消息

所以我要说,除非有人有更好的建议:

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);
}
抽象类MyList
{
私有列表innerList=新列表();
公共对象查找(int?id)
{
foreach(innerList中的对象obj)
{
if(比较(id,obj))
返回obj;
}
返回默认值(对象);
}
受保护的抽象布尔比较(int?id,Object obj);
}