从C#中的静态数据设置属性名称属性

时间:2015-06-11 08:46:45

标签: c#

如何在C#中使用静态数据设置属性名称属性:

SiteManager
  

错误:属性参数必须是常量表达式typeof   表达式或数组创建表达式的属性参数

我可以将const设为SiteManager字段,但我无法在静态构造函数中设置<div class="uwrap" id="content"> <div class="upage vertical-col left panel" id="mainpage" data-header="af-header-1" data-footer="af-footer-4"> <a class="button widget uib_w_4 d-margins" data-uib="app_framework/button" data-ver="1" id="switch">Button</a> </div> <div class="upage vertical-col left panel" id="timepage" data-header="af-header-2" data-footer="af-footer-5"> <a class="button widget uib_w_7 d-margins" data-uib="app_framework/button" data-ver="1" id="back">Button</a> </div> </div> <footer class="wrap-element uib_w_6" data-uib="app_framework/footer" data-ver="1" id="af-footer-5"> <a class="widget uib_w_8 d-margins icon check" data-uib="app_framework/button" data-ver="1">Button</a> </footer> <footer class="wrap-element uib_w_2" data-uib="app_framework/footer" data-ver="1" id="af-footer-4"> <a class="widget uib_w_3 d-margins icon home" data-uib="app_framework/button" data-ver="1">Button</a> <a class="widget uib_w_5 d-margins icon tv" data-uib="app_framework/button" data-ver="1">Button</a> </footer> 的值。如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

基本上你不能。属性值直接嵌入编译的程序集中 - 它们无法在执行时确定。如果您需要仅在执行时可用的信息,您将需要一种不同的方法,该方法不要求信息出现在属性值中。

(嗯,你可以使用相关的属性数据动态生成类型,但这可能比任何其他方法更难......)