2013-05-18 49 views
0

在C#中,當通用列表包含派生類時,是最佳訪問基類屬性的方法。使用通用列表從派生類訪問基類的屬性

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 

    } 
    } 

我想借此從控制檯基類屬性的值,並將這些值添加到列表中,如果用戶想增加CLASSA的多個對象增加了名單。 這可能嗎?

+0

您可以訪問基類的屬性,但是您必須構造一個類型爲「classA」的新對象,並將其添加到列表中。該列表不會奇蹟般地獲取它所包含類型的所有屬性。 –

回答

1
List1.Add(new ClassA { A = a, B = b, C = c }); 
相關問題