http://msdn.microsoft.com/en-us/library/435f1dw2.aspx¿Cómo puedo detectar el modificador "nuevo" en un campo utilizando la reflexión?
public class Base
{
public string Field;
}
public class Child : Base
{
public new string Field;
}
[TestFixture]
public class TestClass
{
[Test]
public void DetectNew()
{
var fieldInfo = typeof(Child).GetField("Field");
//How do I tell fieldInfo has a new modifier?
Debug.WriteLine(fieldInfo);
}
}
Editar: sé para Métodos y propiedades puedo comprobar "MethodBase.IsHideBySig". ¿Por qué no existe una propiedad similar para FieldInfo?
Este es el enfoque que esperaba evitar. – Simon
Eché un vistazo al código fuente de ILSpy, están haciendo lo mismo: recorrer la cadena de herencia. Están usando Mono.Cecil, pero no hay información especial que no esté disponible a través de la reflexión. Para obtener más información, eche un vistazo al método 'AstBuilder.SetNewModifier' de ILSpy. –
¿Cómo pensé ... –