usage property net custom attribute attrib asp c# .net attributes

property - declare attribute c#



¿Se puede omitir el paréntesis de los atributos sin params? (4)

No hay una regla en particular con respecto a las mejores prácticas que he visto en ninguna parte del artículo.

En general, encuentro que las personas que escriben sus atributos a mano omiten los parens vacíos, pero la generación de código casi siempre los incluye explícitamente.

Me di cuenta cuando tengo [Serializable] lugar de [Serializable()] , el código aún se compila.

¿Existe una regla para esto que pueda omitir los paréntesis? ¿Es una buena práctica? Me parece más legible a menos que me falta algo.


Sí, omitir el atributo es legal desde el punto de vista del idioma. No conozco las mejores prácticas que lo rodean pero, en general, los desarrolladores omiten los parens si no son necesarios.


Puede perder el () cuando el constructor del atributo que desea usar no tiene parámetros, y no desea especificar ningún parámetro opcional (valores de propiedad).

Mira aquí para más detalles


Sí, puedes omitir el paréntesis.

[Serializable] [Serializable()] [SerializableAttribute] [SerializableAttribute()]

Son 4 formas de escribir exactamente el mismo atributo.

La práctica general es omitir siempre la parte de Attribute .
Los vacíos () generalmente se omiten también, pero realmente no importa. Y, por supuesto, los necesitará para establecer parámetros o propiedades.