我有一个返回接口的属性。在调试过程中,我可以在返回值处打断点,虽然它是接口,但Visual Studio足够聪明,知道实际上它是哪个派生类型。我猜测它是使用反射或类似的东西实现的。我的问题是,在运行时是否可以让我获得相同的信息,以便我可以创建一个适当类型的变量,并将接口强制转换为该类型?这是我的意思:
IPreDisplay preDisplay = cb.PreDisplay;
如果preDisplay是RedPreDisplay,则我想要编写以下代码。
RedPreDisplay tmp = preDisplay as RedPreDisplay;
如果 `preDisplay` 是一个 `GreenPreDisplay` 的话...
GreenPreDisplay tmp = preDisplay as GreenPreDisplay;
我希望能够避免冗长的 switch 语句,如果可以使用泛型那就太好了。
如果您有任何建议或示例,欢迎分享。