http://msdn.microsoft.com/en-us/library/435f1dw2.aspxリフレクションを使用してフィールド上の「新しい」修飾子を検出するにはどうすればよいですか?
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);
}
}
編集:私は "MethodBase.IsHideBySig" を確認することができますメソッドとプロパティのために知っています。なぜFieldInfoに似たプロパティが存在しないのですか?
これは避けたいアプローチです。 – Simon
私はILSpyのソースコードを見て、彼らは同じことをやっています - 継承チェーンを歩いています。彼らはMono.Cecilを使用していますが、リフレクションでは利用できない特別な情報はありません。詳細については、ILSpyの 'AstBuilder.SetNewModifier'メソッドを見てください。 –
ちょうど私が思った... –