我有一些通过唯一整数ID进行标识的类。现在,我需要编写一个方法,该方法以整数(ID)作为参数,并返回相应的类类型。目前为止,我已经得到了以下代码:
public static Type GetById(int id)
{
switch (id)
{
case 1: return (new ClassA()).GetType();
case 2: return (new ClassB()).GetType();
case 3: return (new ClassC()).GetType();
// ... and so on
}
}
目前看起来它工作正常,但出于某种原因我不喜欢必须实例化类才能获取其类型。这会导致任何问题吗?
我发现的另一种解决方案是使用Type.GetType(classNameAsString)方法,但我想如果类名称更改(即我更改类的名称,但忘记更新GetById方法),这可能会导致一些运行时错误或错误。
有更好的方法吗?