<分区>
当使用反射时,我们通常只是基本的 System.Reflection
API,但我想知道是否有人知道一个不错的“包装器”层或具有更多“模式风格”方法的 API? (例如,有点像代码生成器数据库模态视图)
这用于代码生成器,如 T4 模板等......
标签 .net api reflection
<分区>
当使用反射时,我们通常只是基本的 System.Reflection
API,但我想知道是否有人知道一个不错的“包装器”层或具有更多“模式风格”方法的 API? (例如,有点像代码生成器数据库模态视图)
这用于代码生成器,如 T4 模板等......
最佳答案
参见 Type Descriptor Overview .大多数人将它用于设计时的超凡体验,因为它允许您创建新的/隐藏现有的属性,或者完全修改控件在 Visual Studio 的属性框中的表示方式。但是,它在运行时和设计时一样有效。例如,调用 TypeDescriptor.GetProperties将从任何TypeDescriptorProvider 中获取类型或对象(特定于实例的属性) 的所有属性为该类型/对象注册的。您可以链接它们,如果没有注册更具体的内容,则有一个使用旧反射技术的默认提供程序。
这基本上意味着在您的插件上调用 GetProperties 将允许该插件显示它真正拥有的更多设置,并允许它以任何它想要的方式保留这些设置,这会带来一些很棒的场景用于自定义属性框或反射可视化工具。
关于.NET 反射助手 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2963645/