Estoy tratando de reflexionar sobre algunas propiedades de la clase y los puso programaticlly, pero parece que uno de mis filtros PropertyInfo no está funcionando:"método set Propiedad no encontrada" error durante la reflexión
//Get all public or private non-static properties declared in this class (no inherited properties) - that have a getter and setter.
PropertyInfo[] props = this.GetType().GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.SetProperty);
I estoy poniendo un error en la línea
pi.SetValue(this, valueFromData, null);
Dado que la propiedad sólo tiene un método get{}
, sin set{}
método.
Mi pregunta es, ¿por qué no se ha filtrado esta propiedad de los accesorios? Pensé que ese era el propósito de BindingFlags.SetProperty.
La propiedad no siendo filtrada es:
public String CollTypeDescription
{
get { return _CollTypeDescription; }
}
en cuenta que yo quiero filtrar propiedades que no van a trabajar antes de tiempo, porque todos ellos estoy lista a la vez. Hago no quiero usar pi.GetSetMethod()
después del hecho para determinar si puedo usar el setter.
@dtryon - no - que es O-ing juntas las banderas de las opciones que quiere establecer . –