Non ho idea di cosa servano. Il documentation non è molto chiaro:Cosa sono GetField, SetField, GetProperty e SetProperty nell'enumerazione BindingFlags?
GetField Specifica che il valore del campo specificato deve essere restituito.
SetField Specifica che il valore del campo specificato deve essere impostato.
GetProperty Specifica che il valore della proprietà specificata deve essere restituito.
SetProperty Specifica che il valore della proprietà specificata deve essere impostato. Per le proprietà COM, specificare questo flag di binding equivale a specificare PutDispProperty e PutRefDispProperty.
Se li si specifica nell'enumerazione BindingFlags
, cosa devono restituire? Ho pensato che ha a che fare con le proprietà ei campi di un tipo, ma questo semplice test non dice:
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
Lo stesso insieme viene restituito per SetField
, GetProperty
e SetProperty
.
Oh capisco; confusione nel vedere lo stesso insieme di flag usati in 'GetMembers' .. – nawfal
Accetto, potrebbe essere un po 'di confusione. –