Puede hacerlo, pero no es compatible con CLS:
[assembly: CLSCompliant(true)]
class Foo : Attribute
{
public Foo(string[] vals) { }
}
[Foo(new string[] {"abc","def"})]
static void Bar() {}
Shows:
Warning 1 Arrays as attribute arguments is not CLS-compliant
Para el uso de reflexión regular, puede ser preferible tener múltiples atributos, es decir
[Foo("abc"), Foo("def")]
Sin embargo, esto no funcionará con TypeDescriptor
/PropertyDescriptor
, en donde sólo se admite una única instancia de cualquier atributo (ya sea el primero o el último victorias, no recuerdo cuál).
Simplemente tiene mal la sintaxis de la matriz. Debería ser "new int [] {3,4,5}". –