0

我知道属性声明的参数必须是一个常量表达式并在编译时解析。但是,我可以使用“编译时间”的概念吗?ASP.net有 App_Code 文件夹的概念。从它的描述来看,您可以将 .cs 文件放入其中,即使在应用程序运行时也是如此,它将被引入并编译。是否可以使用这种机制来动态创建可在属性声明中使用的 Enum 或 const 数组?

[SomeAttribute(ValidTypes.SomeType)]
public class Foo
{
}

基本上,我想动态增长 ValidTypes 中的有效类型,而不必重新编译引用它的所有组件。我需要让它与数据库表中的值列表保持同步。所以,我的问题是,我可以将带有 Enum 或 const 字符串数组定义的 .cs 文件放入 App_Code 并让它自动显示吗?或者更好的是,.Net 用于执行此操作的机制是否可以在其他地方调用,因此我不必在 ASP.Net 应用程序中执行此操作?

4

1 回答 1

0

即使可以,您也必须重新编译应用程序才能使用附加值。听起来您想要的是属性中用于查找动态值的代码

于 2010-09-28T16:49:27.763 回答