我知道屬性聲明的參數必須是常量表達式,並在編譯時解析。但是,我可以玩'編譯時間'的概念嗎? ASP.net具有App_Code文件夾的概念。從它的描述來看,就像你可以將.cs文件放入它一樣,即使在應用程序正在運行時,它也會被引入和編譯。是否有可能使用這種機制來動態創建一個可以在屬性聲明中使用的Enum或者const數組?屬性的動態參數
[SomeAttribute(ValidTypes.SomeType)]
public class Foo
{
}
基本上,我想動態增長ValidTypes中的有效類型,而不必重新編譯引用它的所有組件。我需要保持它與數據庫表中的值列表同步。所以,我的問題是,我可以將.cs文件的Enum或const字符串數組的定義放入App_Code並自動顯示出來嗎?或者更好的是,.Net使用這種機制可以在別處調用,所以我不必在ASP.Net應用程序中執行此操作。
http://stackoverflow.com/questions/3357109/whats-the-simplest-most-elegant-way-to-utilize-a-custom-attribute/3357145#3357145 – asawyer 2010-09-28 16:24:33
遺憾asawyer但是這是不相關的。我知道如何製作和使用自定義屬性。我試圖繞過編譯時必須靜態定義屬性參數的問題。 – 2010-09-30 14:25:03