我必须实现以下模式:
我使用Interfaces和Inheritance玩了一下,但我无法使我的模式工作。如果您有任何其他更简单的模式来实现类似的东西,请发布它。
我需要的一个粗略的例子如下。
public class Chip
{
//int variable for simplicity. I can use enum later.
public int FamilyType;
public Chip(int Type)
{
FamilyType = Type;
}
}
public class ChipType1 : Chip
{
/*Properties #1*/
/*Methods #1*/
public ChipType1() : base (1)
{
}
}
public class ChipType2 : Chip
{
/*Properties #2*/
/*Methods #2*/
public ChipType2() : base (2)
{
}
}
答案 0 :(得分:0)
你的筹码类应该是这样的
app
我希望这可以帮到你。将XML解析为上述类层次结构应该可以正常工作
答案 1 :(得分:0)
对于迟到的回复感到抱歉。我最终使用了一个对象变量。当我需要使用它时,我检查switch子句中的类型并将控制器对象强制转换为相应的类。
public class Chip
{
//int variable for simplicity. I can use enum later.
public int FamilyType;
public object Controller;
public Chip(int Type)
{
FamilyType = Type;
if (FamilyType == 1)
Controller = new ChipType1();
else if (FamilyType == 2)
Controller = new ChipType2();
}
}
public class ChipType1
{
/*Properties #1*/
/*Methods #1*/
public ChipType1()
{
}
}
public class ChipType2
{
/*Properties #2*/
/*Methods #2*/
public ChipType2()
{
}
}