获取派生类的抽象类类型
在.NET中 使用 GetType 函数返回对象的具体类类型。问题是,我直到运行时才知道该类型是什么,但我确实知道它派生自哪个抽象类(我正在使用抽象工厂来创建适当的类)。
我如何获得实际的抽象类类型?有可能吗?
In .NET
using the GetType function returns the concrete class type of the object. The problem is that i don't know what the type is going to be until runtime, but i do know from which abstract class its derives ( I am using abstract factories to create the adequate class).
How can i get the actual abstract class type? Is it even possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Type.BaseType
将告诉您当前类型派生的类型。您可以递归调用Type.BaseType
直到Type.IsAbstract
为true
。用法:
Type.BaseType
will tell you the type from which the current type derives. You could recursively callType.BaseType
untilType.IsAbstract
istrue
.Usage:
我认为您正在寻找 BaseType 属性关闭类型类。这会获取您当前类型直接继承的类型。
I think you are looking for the BaseType property off the Type class. This gets the type your current type directly inherits from.