带字典的默认值属性

时间:2020-07-13 13:17:37

标签: c# attributes

我正在尝试使用defaultvalue属性Default Value Documentation

所以我知道如何使用字符串做默认属性

 [DefaultValue("This is the message")]

但是如何为字典设置默认值?

我尝试过

   [DefaultValue(new Dictionary<string, string>() { { "Test", "test" } })]

但是我得到这个错误

错误CS0182属性参数必须是一个常量表达式, 属性的typeof表达式或数组创建表达式 参数类型

1 个答案:

答案 0 :(得分:1)

您不能在任何属性中使用字典,但可以尝试使用键+值添加自己的属性。

我不知道您想如何使用它,但我建议尝试以下方法:

public class DictionaryDefaultAttribute : DefaultValueAttribute
{
    public DictionaryDefaultAttribute(string key, string value) 
        : base(new Dictionary<string, string>() {{key, value}})
    {
    }
}
相关问题