从存储的动态对象创建智能感知

本文关键字:创建 智能 感知 对象 动态 存储 | 更新日期: 2023-09-27 18:06:57

我即将创建一些设置MVC项目和网站,基于动态变量等。这些设置将存储在xml中,便于读写。

我现在的问题是,在阅读了这个问题中的扩展智能感知后:

是否有可能在visual studio中为动态对象提供智能感知?

是否有可能读取我保存的设置(在运行时存储),然后在下次运行时构建一个智能感知?

即对于这些site.setings.layout.width的"旧"保存xml定义定义的动态列表将能够显示?

从存储的动态对象创建智能感知

如果你需要的只是xml"智能感知",那么考虑设计xml模式并将它们转储到Visual Studio installation Folder'xml'Schemas中,或者将它们包含在你的解决方案中,如果名称空间匹配适当,VS将完成其余的工作。

编辑:过一会儿再讲这个。似乎没有其他的答案,所以我将尝试更有创意。

    Visual Studio有一个从xml文件生成xsd的选项。请注意,模式将主要是近似值,但它将与文件匹配,并且将是对结构的良好描述。如果你能找到一种方法从命令行调用(或可能找到一个类似的工具的步骤),你可以链接xsd.exe,并在构建时生成c#类(预构建步骤)
  1. 如果第一点太麻烦,你可以尝试写一个T4模板,读取以前的配置文件,并在此基础上生成自定义代码。使用T4生成基于一些xml的POCO属性结构应该相当简单。模板应该作为预编译的步骤运行。

注意这两个建议都涉及到静态代码生成。一个完整的动态解决方案可以用f#类型提供程序来完成,但这在c#中不可用。