タイプごとに異なる動作をするように関数を設計することに問題があります。私の関数は、さまざまなタイプのオブジェクトのリストを作成するために使用されるため、いくつかの同様の関数を作成することは問題ありませんが、可能であれば、コードを少し短くするためにそれを避けたいと思います。
static const int FIRST_TYPE = 0;
static const int SECOND_TYPE = 1;
static const int THIRD_TYPE = 2;
これらint
のsを関数の引数として使用します。
public void foo(int type)
{
List<TypeIDontYetKnow> deserialized;
switch (type)
{
case FIRST_TYPE:
deserialized = new List<A>();
break;
case SECOND_TYPE:
deserialized = new List<B>();
break;
case THIRD_TYPE:
deserialized = new List<C>();
break;
}
}
このようなことを達成することは可能ですか?