C#Attribute的动态参数
[Something("abc")]
void F
{
........
}
意思是Something("abc")中的参数abc是动态的,根据不同情况传人不同的值。
我定义了变量但是编译通不过。有什么方法可以实现呢?
------解决方案--------------------Attribute不是做这个事的。Attribute属于元数据的一部分,不是让你用来做变量的。
设计本身就有问题。
------解决方案--------------------不能用变量,加参数,根据不同情况void F(Something)
*****************************************************************************
http://feiyun0112.cnblogs.com/
------解决方案--------------------private string ss=xxxxxxx;
void F( string ss)
{
........
}
------解决方案--------------------编译到元数据的Attribute是不能改变的,因此用
变量来编译是不可以的。
但是,取决于谁来使用Attribute,有些应用(比如PropertyGrid,DataGridView等)可以理解ICustomTypeProvider。这种情况,你就可以通过ICustomTypeDescriptor来提供“动态的Attribute”。
比如通过提供动态的DisplayName来显示不同的属性名。
具体做法较复杂,可以搜索ICustomTypeDescriptor+PropertyGrid。
------解决方案--------------------也对 变量是不可编译的
------解决方案--------------------nopCommerce
这个开源项目很多特性是从数据库中读取的~
从而实现多语言~
我也没有详细去挖~ 你可以试试看
最后记得分享一下~