【发布时间】:2013-09-03 07:13:24
【问题描述】:
class bishop:unit {}
class knight:unit {}
class peasant:unit {}
void Battle(unit first, unit second, byte firstAmount, byte secondAmount)
{
System.Array sideA = System.Array.CreateInstance(first.GetType(),firstAmount);
for(int i=0; i< firstAmount; i++)
{
sideA[i] = ???
}
}
在我的最后一个问题中,我在创建动态数组时遇到了问题,这是我的下一步问题! :D
此方法的可传递类型 bishop、knight 等
其实我现在不明白如何初始化对象。我不能只输入 sideA[i] = new first.GetType()(constructor parameters) 并理解原因,但我不明白如何解决这个问题
【问题讨论】:
-
你确定你的代码是 C# 的吗?具有首字母小且独立功能的类...
-
您使用哪种编程语言??
-
@Kyle C# 命名风格不好,看看
System.Array.CreateInstance -
你在使用polymorphism吗?您应该创建一个名为 figure 的基本接口(根据国际象棋图形命名的其他类),然后让其他类实现此接口。这允许您将任何数字作为参数传递。
-
感谢批评,我一定会学习C#命名约定!而这段代码只是我案例的一个模型
标签: c# arrays initialization