Supongamos que tengo un par de clases, obviamente artificiales C# como esto:Cómo sellar una propiedad anulado
public abstract class Foo {
public abstract int[] LegalValues { get; }
public virtual bool IsValueLegal(int val) {
return Array.IndexOf(LegalValues, val) >= 0;
}
}
y esto:
¿Cómo puedo hacer esto en C#? El código obvio para las propiedades:
[<Sealed>]
override this.LegalValues with get() = // ...
[<Sealed>]
override this.IsValueLegal value = // ...
Desencadena un error porque el atributo SealedAttribute aparentemente no se puede aplicar a los miembros. Puedo, por supuesto, sellar toda la clase y sellar así todos los miembros, pero (y este es un realmente importante pero) es que tengo el objetivo de emparejar una firma de clase existente exactamente y la clase base tiene otra miembros virtuales/abstractos que deberían, idealmente, seguir siendo invalidables.
¡Hm, ni siquiera sabía que era posible sellar métodos individuales en C#/CLR! – Brian