首先,我不是在谈论新的'动态'关键字n C#4.0。 :)我相信我需要走另一条路......
我想要一个代码/设计时间的类,它是从一组XML文件或文件/文件夹组合等生成的。我可以通过更改extern源来做任何事情。
C#可以实现吗?我知道可以通过一些隐藏的类名称或某些东西(即每个项目的内置属性)进行一些设计时间的补充。
有更简单的方法吗?几乎像动态枚举?这就是我想要做的事情:
public static class MenuItems
{
}
在设计时,我希望基于XML文件定义添加属性(或方法/字段,如果更容易)。像:
<MenuItems>
<Item>Homepage</Item>
<Item>Portfolio</Item>
<Item>About</Item>
<Item>Contact</Item>
</MenuItem>
然后,在设计师的编码中,我会有智能感知:
if (page.ToString == MenuItems.Homepage)...
if (page.ToString == MenuItems.Portfolio)...
注意属性是如何在XML中定义的,并在设计时添加到类中?
提前致谢!
答案 0 :(得分:3)
您可以使用T4 Templates生成源代码。它得到了Microsoft的很好支持,并且用于几个项目,包括ASP.NET MVC,以及很快的ADO.NET实体框架。
答案 1 :(得分:1)
如果我可以将您的注意力转移到ASP.NET Membership Provider和Web.sitemap,也许这会对您的实际问题有所帮助。