これらが何のためにあるのかわかりません。ドキュメントはあまり明確ではありません:
GetField指定されたフィールドの値が返されるように指定します。
SetField指定したフィールドの値を設定する必要があることを指定します。
GetProperty指定されたプロパティの値を返す必要があることを指定します。
SetProperty指定したプロパティの値を設定する必要があることを指定します。COM プロパティの場合、このバインド フラグを指定することは、PutDispProperty および PutRefDispProperty を指定することと同じです。
それらをBindingFlags
列挙で指定すると、何を返す必要がありますか? タイプのプロパティとフィールドに関係していると思いましたが、この簡単なテストではノーと言われています:
class Base
{
int i;
int I { get; set; }
void Do()
{
}
}
print typeof(Base).GetMembers(BindingFlags.GetField
| BindingFlags.Instance
| BindingFlags.NonPublic);
// Int32 get_I()
// Void set_I(Int32)
// Void Do()
// Void Finalize()
// System.Object MemberwiseClone()
// Int32 I
// Int32 i
// Int32 <I>k__BackingField
SetField
、GetProperty
およびに対して同じセットが返されSetProperty
ます。