Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在超类列表中foreach继承(子类)对象_C#_.net_Inheritance - Fatal编程技术网

C# 在超类列表中foreach继承(子类)对象

C# 在超类列表中foreach继承(子类)对象,c#,.net,inheritance,C#,.net,Inheritance,我有一个名为“ClassA”的超级类和两个子类“Class1”和“Class2” 我有一个包含“Class1”和“Class2”对象的列表,该列表的类型为“ClassA” 我只想通过如下操作循环列表中的“Class1”对象 List<ClassA> AList = new List<ClassA>; AList.Add(new Class1()); AList.Add(new Class2()); foreach (Class1 c1 in AList) { /

我有一个名为“ClassA”的超级类和两个子类“Class1”和“Class2”

我有一个包含“Class1”和“Class2”对象的列表,该列表的类型为“ClassA”
我只想通过如下操作循环列表中的“Class1”对象

List<ClassA> AList = new List<ClassA>;
AList.Add(new Class1());
AList.Add(new Class2());

foreach (Class1 c1 in AList)
{
    // Do Something
}
使用LINQ:

foreach (Class1 c1 in AList.OfType<Class1>()) { }
foreach(类型列表()中的c1类)
{
//做点什么
}

我必须使用.NET 2.0,不能使用LINQI必须使用.NET 2.0,不能使用LINQ
foreach (Class1 c1 in AList.OfType<Class1>()) { }
foreach (ClassA cA in AList) {
  Class1 c1 = cA as Class1;
  if (c1 != null) {
    // do something
  }
}
foreach(Class1 c1 in AList.OfType<Class1>())
{
    //do something
}