【发布时间】:2015-09-22 01:48:15
【问题描述】:
我想添加从同一个基类扩展的不同子类到一个列表中。
所以这是基类:
public class InteractionRequirement {
protected int requirementNumber;
public int RequirementNumber{
get{ return requirementNumber;}
set{ requirementNumber = value;}
}
}
这些是子类:
public class ObjectInteraction : InteractionRequirement {
protected string objectName;
--getter and setter here--
}
public class CharacterInteraction: InteractionRequirement {
protected string characterName;
--getter and setter here--
}
public class AssetInteraction: InteractionRequirement {
protected string assetName;
--getter and setter here--
}
我将它们添加到一个列表中:
List<InteractionRequirement> interactionRequirements = new List<InteractionRequirement>();
ObjectInteraction objectInteraction = new ObjectInteraction();
CharacterInteraction characterInteraction = new CharacterInteraction();
AssetInteraction assetInteraction = new AssetInteraction();
interactionRequirements.Add(objectInteraction);
interactionRequirements.Add(characterInteraction);
interactionRequirements.Add(assetInteraction);
但我似乎无法从子类中检索属性值,出现错误。
string oName = interactionRequirement[0].ObjectName;
string cName = interactionRequirement[1].CharacterName;
string aName = interactionRequirement[2].AssetName;
【问题讨论】:
标签: c# .net subclass superclass