puedo estar haciendo esta mal, pero puede/cómo se puede encontrar campos de una clase en sí mismo ... por ejemplo ...C# Reflexión: Finding atributos en un campo miembro
public class HtmlPart {
public void Render() {
//this.GetType().GetCustomAttributes(typeof(OptionalAttribute), false);
}
}
public class HtmlForm {
private HtmlPart _FirstPart = new HtmlPart();
[Optional] //<-- how do I find that?
private HtmlPart _SecondPart = new HtmlPart();
}
O tal vez Estoy haciendo esto incorrectamente ... ¿Cómo puedo llamar a un método y luego verificar los atributos aplicados a sí mismo?
Además, por el bien de la cuestión - Tengo curiosidad si era posible encontrar información de atributos sin saber/acceder a la clase padre!
Gracias - Parecía 'posible', pero de nuevo me imaginé que faltaba lo suficiente como para no funcionar. – Hugoware
No, el método Render puede acceder perfectamente a typeof (HtmlForm) en lugar de obj.GetType(), entonces ya no necesita el obj. Por supuesto, si HtmlForm en sí mismo era privado, entonces podría necesitar encontrarlo a través de Assembly.GetExecutingAssembly(). GetTypes(). Where (t =>! T.IsGeneric &&! T.IsNested && t.FullName == "MyNamespace. HtmlForm ") o algo así. – Timwi