我有一种情况,我想创建一个可以容纳父类和子类型的字典。我想存储不同的孩子类型,并能够调用他们的数据。从存储父类类型的字典访问子属性
我正在运行的问题是,当将对象拉出字典时,它们被视为它们的父类型,因为字典类型被设置为父对象。我想通过使用var实例化一个新对象(参见下文),我已经想出了访问其附加属性的唯一方法。
任何帮助将不胜感激。另外,如果我的行话/术语不正确,请随时纠正我正在尝试学习的内容。谢谢!
更新:我稍微更新了我的代码,以尝试传达我正在尝试执行的操作。 (添加了foreach循环)。
public class parent
{
public string name;
}
public class child : parent
{
public int age;
}
public class library
{
}
public class Program
{
public static void Main(string[] args)
{
Dictionary<int, parent> dictionary = new Dictionary<int, parent>();
child child1 = new child();
child child2 = new child();
child1.age = 5;
child2.age = 10;
dictionary.Add(1,child1);
dictionary.Add(2,child2);
foreach(KeyValuePair<int, parent> d in dictionary)
{
Console.WriteLine(d.age);
}
}
}
即使您的代码显示了所涉及的对象和类型,它实际上也不会显示您遇到的问题。展示代表您问题的最少量代码是适当的礼节。 – Enigmativity 2014-12-11 00:22:15