我有几个类都继承了相同的Shape
类。当我创建一个新形状时,我希望它具有随机形状。我认为这样做的方式是创建一个链接到所有构造函数的列表,并且当我需要创建一个新形状时,我将从列表中获取一个随机构造函数,并使用它来构造我的形状。我试图创建休耕方式的名单,但我得到的错误:是否有可能在c#中创建一个将创建随机对象的构造函数列表?
List<Action> constList = new List<Action>();
constList.Add(SShape());
constList.Add(OShape());
constList.Add(LShape());
的Shape
构造函数定义:
class Shape
{
public Shape(PlayGrid grid, Color color)
{
...
}
...
}
每个子形状的构造函数的定义如下:
class IShape : Shape
{
public IShape(PlayGrid grid, Color color) : base(grid, color)
{
...
}
...
}
什么是构造列表的正确方法,以及如何使用列表中的构造函数?
承包商还需要获取在不同形状之间变化的参数。
在你的形状基类中,有一个静态函数GetRandomShape() – 2013-03-22 12:24:08
你的形状类是Action的子类吗? – 2013-03-22 12:24:15
@StealthRabbi,no。 – SIMEL 2013-03-22 12:25:21