http://msdn.microsoft.com/en-us/library/435f1dw2.aspxJak wykryć "nowy" modifer na polu za pomocą odbicia?
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);
}
}
EDIT: wiem do metod i właściwości mogę sprawdzić "MethodBase.IsHideBySig". Dlaczego nie istnieje podobna właściwość dla FieldInfo?
To jest podejście, którego miałem nadzieję uniknąć. – Simon
Spojrzałem na kod źródłowy ILSpy, robią to samo - idąc łańcuchem dziedziczenia. Używają Mono.Cecil, ale nie ma specjalnych informacji, które są niedostępne poprzez odbicie. Aby uzyskać więcej informacji, spójrz na metodę "AstBuilder.SetNewModifier" ILSpy. –
Po prostu, jak myślałem ... –