使用Generic List从派生类访问Base类的属性

时间:2013-05-18 14:08:56

标签: c# visual-studio-2010 generics

在C#中,当通用列表包含派生类时,is是访问Base类属性的最佳方法。

public BaseClass1
{
  public Property A{get;set;}
   public Property B{get;set;}
}
 public BaseClass2:BaseClass1
{
   public Property C{get;set;}
   public Property D{get;set;}
}
public classA:BaseClass2
{
}

public class Implement
  {
    List<classA> list1 = new List<classA>()

    Console.WriteLine("Would you like to add another person");//If yes I would like add person to the list dynamically

    {
        //Is it possible to acesses properties of Baseclass using derived class List
       List1.Property A = Console.readline();//read input from console
       List1.Property B = Console.readline();//read input from console
           .
           .
       List.Property D = Console.readline();//read input from console

       List1.add(Property A,Property B);//add properties of baseclass1 and baseclass2 as well as derived class 

    }
   }

我想从控制台获取基类属性的值,并将这些值添加到List中,如果用户想要添加更多classA对象,则增加列表。 这可能吗?

1 个答案:

答案 0 :(得分:1)

List1.Add( new ClassA { A = a, B = b, C = c } );