Tôi có một lớp siêu có tên là "ClassA" và hai tiểu lớp "Class1" và "Class2".foreach kế thừa (sub-class) đối tượng trong một danh sách siêu lớp
Tôi có danh sách chứa các đối tượng của "Class1" và "Class2", danh sách đó thuộc loại "ClassA".
Tôi muốn lặp qua chỉ là "Class1" các đối tượng trong danh sách bằng cách làm một cái gì đó giống như
List<ClassA> AList = new List<ClassA>;
AList.Add(new Class1());
AList.Add(new Class2());
foreach (Class1 c1 in AList)
{
// Do Something
}
nhưng khi tôi làm điều đó, mã ném một ngoại lệ khi nó đạt đến một đối tượng mà không phải là loại "Class1 ".
Làm cách nào để thực hiện điều này một cách đơn giản mà không cần phải kiểm tra loại đối tượng trong danh sách và truyền nó nếu đó là loại chính xác. như thế này:
foreach (ClassA cA in AList)
{
if (cA.GetType() == typeof(Class1))
{
// Do Something
}
}
tôi phải sử dụng .NET 2.0 và không thể sử dụng LINQ – Amr
Sử dụng "là" lựa chọn sau đó. – Meligy