背景
我有一些脚本作为构建过程的一部分运行,它们查看各种源代码文件并为我生成更多源代码。
脚本使用 CodeDom 生成它们,它们.cs
使用简单的文本阅读器读取文件。
问题
其中一个脚本正在寻找一个名为的特定类属性的使用PageMenuItem
,其目的是构建页面菜单项的静态列表。
它现在通过读取所有.cs
文件并查找"PageMenuItem"
属性来执行此操作,然后计算参数的数量并尝试找出正在使用的构造函数,以便它可以分解各种信息。
有 7 个PageMenuItem
不同参数的构造函数,因此很难从.cs
源代码中确定正在使用哪个构造函数以及如何解析信息。
我不想自己解析文本,而是想简单地PageMenuItem
在内存中构造一个对象,然后使用它的属性。
所以,我需要一种从.cs
文件中获取属性声明并从中构造一个新实例的方法PageMenuItem
。
那可能吗?
问这个问题的另一种方式:
给定这个字符串:
string myCodeStatement = "[MyAttribute(\"asdf\", \"foo\")]";
如何创建该类型的对象MyAttribute
以便我可以使用该对象?我可以完全访问定义MyAttribute
.