class MyBase
{
protected object PropertyOfBase { get; set; }
}
class MyType : MyBase
{
void MyMethod(MyBase parameter)
{
// I am looking for:
object p = parameter.PropertyOfBase; // error CS1540: Cannot access protected member 'MyBase.PropertyOfBase' via a qualifier of type 'MyBase'; the qualifier must be of type 'MyType' (or derived from it)
}
}
¿Hay alguna forma de obtener una propiedad protegida de un parámetro de un tipo que se extiende sin reflejarse? Dado que la clase que se extiende se sabe de la propiedad a través de su tipo base, tendría sentido si es posible.¿Hay alguna manera de llegar a un miembro `protected` de otro objeto desde un tipo derivado?
Hazlo público en lugar de protegido. – dalle
¿Qué sucede si no quiero que sea accesible desde otras clases, que no tienen nada que ver con PropertyOfBase? –
¿Lo hace interno? – dalle