すべて同じShape
クラスから継承するいくつかのクラスがあります。新しい形状を作成するときは、ランダムな形状にしたいと考えています。私が考えた方法は、すべてのコンストラクターへのリンクを保持するリストを作成することです。新しい形状を作成する必要がある場合は、リストからランダムなコンストラクターを取得し、それを使用して形状を構築します。次の方法でリストを作成しようとしましたが、エラーが発生します。
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)
{
...
}
...
}
リストを構築する正しい方法と、リストからコンストラクターを使用する方法は何ですか?
請負業者は、異なる形状間で変化するパラメーターも取得する必要があります。