Logo

¡Bienvenido a Stratos!

Acceder

Foros



Asignar un valor a una propiedad con setter privado

Iniciado por blau, 19 de Septiembre de 2010, 02:14:41 AM

« anterior - próximo »

blau

En todos lados dice que es posible mediante reflexion, pero yo no lo consigo...

Cuando hago esto:

Código (csharp) [Seleccionar]
objecto.GetType().GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)


no me devuelve los metodos privados y deberia por que si no para que %·%&  esta el BindingFlags.NonPublic,

¿alguna idea?

aunque lo estoy haciendo de una clase heredada, voy a probar desde el tipo de la clase base.


blau

Era eso, hay que recorrer la cadena de herencia,

ya estaba loco,  :grrr:


Código (csharp) [Seleccionar]


               pi = type.GetProperty(elem, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
               if (pi != null)
                {
                    while (pi.GetSetMethod(true) == null)
                    {
                        type = type.BaseType;
                        pi = type.GetProperty(elem, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
                    }
               }






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.
Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.