在 Visual Studio 2008 插件中,如何判断类的接口是哪些?财产工具?
在 Visual Studio 外接程序中,我枚举当前源文件中的类的成员。当我遇到一个属性(例如 CodeElement.Kind == vsCMElement.vsCMElementProperty)时,我将该 CodeElement 转换为 CodeProperty,并且可以看到该属性的名称和类型。
我遇到的问题是获取属性的已实现接口的列表。我想知道这是否是因为实现的接口可能位于 Visual Studio 不“了解”的程序集中。
有没有办法获取属性实现的接口列表?
谢谢。
In a Visual Studio Add-In, I'm enumerating over the members of a class in the current source file. When I encounter a property (e.g. CodeElement.Kind == vsCMElement.vsCMElementProperty) I cast that CodeElement to a CodeProperty and I can see the property's name and type.
What I'm having a problem with is getting a list of the property's implemented interfaces. I'm wondering if this is because the implemented interfaces might be in assemblies that Visual Studio doesn't "know" about.
Is there a way to get the list of interfaces that a property implements?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的。您必须确定该属性是类 (CodeClass) 还是接口 (CodeInterface)。无论哪种情况,您都需要迭代所有代码(类/接口).Bases 并递归检查 ImplementedInterfaces。
这是一些示例代码(注意:这只是为了帮助实现这个想法)
Yes. You would have to determine if the property is a Class (CodeClass) or an Interface (CodeInterface). In either case, you will need to iterate through all the Code(Class/Interface).Bases and recursively check ImplementedInterfaces.
Here is some example code (note: this is just to help with the idea)