Atributos personalizados que generan marcas o opciones en la salida del lenguaje intermedio (IL)
Artículo
Agregue estos atributos al código para que el compilador emita un modificador de lenguaje intermedio (IL) especificado. Estos atributos indican al compilador que incluya el modificador IL correspondiente en la salida.
Los argumentos del constructor especifican marcas con nombre específicas, como aggressiveinlining o forwardref. Estas marcas también especifican los modificadores native, managedo optil para el campo System.Runtime.CompilerServices.MethodCodeType.
Agregue este atributo a un indexador para establecer un nombre de método diferente. De forma predeterminada, los indexadores se compilan en una propiedad denominada Item. Puede especificar un nombre diferente mediante este atributo.
Algunos de estos atributos personalizados se aplican mediante otra sintaxis de C# en lugar de agregar el atributo al código fuente.
Este atributo es necesario para la característica de delegate*. El compilador lo agrega a cualquier delegate* que requiera su uso. Sin embargo, debe agregar este atributo a cualquier declaración de método cuando ese método se asigna a un puntero de función.
Por lo general, los atributos siguientes no se permiten en el origen de C#. Se enumeran aquí para ayudar a los autores de bibliotecas que utilizan la reflexión, y para asegurarse de que no se crean atributos personalizados con el mismo nombre completo.
Codifica los indexadores con System.Runtime.CompilerServices.IndexerNameAttribute. Este atributo indica el indexador predeterminado cuando su nombre es diferente de Item. Este atributo se permite en el origen.
Este atributo especifica la versión de C# necesaria para comprender las anotaciones de seguridad ref en el ensamblado. Las reglas de seguridad ref evolucionan a medida que C# obtiene nuevas características.
Este atributo indica que el modificador required se ha colocado en una declaración de miembro. Es la codificación de los miembros requeridos del lenguaje característico .
Este atributo codifica nombres de elementos de tupla utilizados en firmas.
Además, el compilador puede generar una declaración para otros atributos usados internamente. El compilador genera estos atributos en el espacio de nombres System.Runtime.CompilerServices para su propio uso. Algunas no están en las bibliotecas en tiempo de ejecución de .NET. En su lugar, el compilador sintetiza una definición para una declaración de tipo internal en cualquier ensamblado en el que se necesite el atributo.
Colaborar con nosotros en GitHub
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.