http://msdn.microsoft.com/en-us/library/435f1dw2.aspxLàm thế nào để phát hiện modifer "mới" trên một trường sử dụng sự phản chiếu?
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: tôi biết phương pháp và tính tôi có thể kiểm tra "MethodBase.IsHideBySig". Tại sao không tồn tại một thuộc tính tương tự cho FieldInfo?
Đây là phương pháp tôi đã hy vọng tránh. – Simon
Tôi đã xem xét mã nguồn của ILSpy, họ đang làm điều tương tự - đi bộ chuỗi thừa kế. Họ đang sử dụng Mono.Cecil, nhưng không có thông tin đặc biệt nào không có thông qua phản ánh. Để biết thêm thông tin, hãy xem phương thức 'AstBuilder.SetNewModifier' của ILSpy. –
Chỉ cần làm thế nào tôi nghĩ ... –