我有一个 BaseClass,我使用继承从中派生了多个其他类。在其他地方,我希望能够从这些继承的类中的任何一个中检索属性,即使类的类型直到运行时才知道。
例如,假设我有两个派生自 BaseClass 的类
FirstClass : BaseClass
SecondClass : BaseClass
我的 BaseClass 有一个名为 ID 的属性,它是一个 int (以及许多其他属性)
在运行时,我的应用程序将接收“FirstClass”对象或 SecondClass 对象,但无论哪种方式,我都需要检索 ID 属性。
public int MyMethod(object unknownClass)
{
int myID = unknownClass.ID;
return myID //...does not compile
}
public int MyMethod(object unknownClass)
{
BaseClass tryCasting = (BaseClass)unknownClass;
int myID = tryCasting.ID;
return myID //...does not compile either
}
我不确定还能尝试什么。如何在不知道对象类型的情况下获得我知道存在的属性?