我在设计我的功能时遇到问题,以便它可以针对不同的类型采取不同的行动。我的函数用于创建具有不同类型的对象列表,因此创建几个类似的函数不会有问题,但如果可能的话,我想避免它以使我的代码更短:
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;
}
}
有可能实现这样的目标吗?