visual studio polimorficos multiple metodos hijo herencia heredar form ejemplos composicion clases clase c# inheritance attributes methods

studio - ¿Se heredan los atributos del método en C#?



herencia y composicion c# (3)

¿Los atributos aplicados a un método abstracto en una clase base se aplican a las versiones anuladas en las clases secundarias?

Espero que la pregunta sea lo suficientemente clara sin un ejemplo.


Depende del atributo.

los atributos aplicados a la definición de la clase Attribute, llevan una propiedad [AttributeUsageAttribute.Inherited] que determina si un atributo se hereda en las clases derivadas.

echa un vistazo a esta muestra

[global::System.AttributeUsage(AttributeTargets.Method, Inherited = true, AllowMultiple = false)] public sealed class MyAttribute : Attribute { public MyAttribute (string FieldName) { //constructor. } }


Puede especificarlo aplicando el atributo AttributeUsage a los personalizados y configurando la propiedad Heredada (que es verdadera de manera predeterminada). Esta propiedad indica si su atributo puede ser heredado por clases que se derivan de las clases que tienen aplicado su atributo personalizado.

[AttributeUsage( Inherited = false)] public class CustomAttribute : Attribute { }

Lectura recomendada: