有没有理由迭代IEnumerable<AbstractClass>
会重置每个项目的属性?
想象一下,我有一个列表作为项目:
public abstract class MyAbstractClass{
public virtual string ID {get; set;}
}
public class MyClass : MyAbstractClass {
public string ID {get; set;}
}
public static string MyMethod (IEnumerable<MyAbstractClass> items)
{
//At this moment I can see that items are populated correctly.
foreach (MyAbstractClass item in items)
{
//at this moment each item is kind of reset and all it's properties are null
}
}
为什么会发生这样的事情?我不确定我在这里做错了什么。
提前致谢。
编辑:
我可以将MyClass的可枚举列表传递给MyMethod。