如何声明其值为字符串数组的DefaultValue属性?

Mic*_*hop 5 .net c# attributes default-value

我一直在代码生成器中使用DefaultValue属性,该代码生成器从模式中编写C#类定义.

我被困在架构中的属性是一个字符串数组的地方.

我想在我的C#中写这样的东西:

[DefaultValue(typeof(string[]), ["a","b"])]
public string[] Names{get;set;}
Run Code Online (Sandbox Code Playgroud)

但那不会编译.

有什么办法可以成功声明字符串数组的默认值属性吗?

O. *_*per 9

你可以试试

[DefaultValue(new string[] { "a", "b" })]
Run Code Online (Sandbox Code Playgroud)

当你想传递一个新的字符串数组时,你必须实例化它 - 这是由它完成的new string[].C#允许初始化列表,其中数组的初始内容遵循大括号,即{ "a", "b" }.

  • 你会如何使用通用列表?像这样默认值`new List <CommonModels.Contact>` (2认同)
  • 我在寻找更通用的语法时遇到了这个答案。这似乎不适用于自定义类/结构定义,例如`[DefaultValue(new WhatWhat[] {})]`(我想要空数组默认值) (2认同)