我有很多从基类继承的类,但具有不同的参数,例如:
public class Model1(Provider provider)
: BaseModel(provider, id: "model-1");
public class Model2(Provider provider)
: BaseModel(provider, id: "model-2");
现在我需要通过“id”获取类型。 假设我有我的程序集中的所有类型。 我该怎么做? 例如,如果我传递“model-1”,我应该返回“Model1”或完整的命名空间。
答案是:你不能。从 Reflection 的角度来看,这两种类型在名称上不同,它们具有不同的身份,但在成员方面完全相同,包括构造函数。
为了使反映的信息不同,您需要向基类的成员集中添加一些不同的成员
BaseModel
。但是,它不会是基于传递给基类构造函数的值进行分类。
你的缩进对我来说看起来很奇怪而且完全不清楚,而解释你的一些最终目标可以大大提高帮助你的机会。所以,问题是:为什么?如果您可以解释您希望通过派生类的预期分类实现什么目标,那么我很可能可以通过一些实际可行的建议提供额外的帮助。