Tôi không biết nó là cái gì. Các documentation không phải là rất rõ ràng:GetField, SetField, GetProperty và SetProperty trong liệt kê BindingFlags là gì?
GetField Chỉ định rằng giá trị của lĩnh vực quy định nên được trả lại.
SetField Chỉ định rằng giá trị của trường được chỉ định sẽ được đặt.
GetProperty Chỉ định rằng giá trị của thuộc tính được chỉ định phải được trả về.
SetProperty Chỉ định rằng giá trị của thuộc tính được chỉ định sẽ được đặt. Đối với các thuộc tính COM, chỉ định cờ ràng buộc này tương đương với việc chỉ định PutDispProperty và PutRefDispProperty.
Nếu tôi chỉ định chúng trong BindingFlags
liệt kê, chúng nên trở lại điều gì? Tôi nghĩ rằng nó đã làm với các thuộc tính và các lĩnh vực của một loại, nhưng kiểm tra đơn giản này nói không:
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
Tập cùng được trả về cho SetField
, GetProperty
và SetProperty
.
Ồ tôi hiểu; khó hiểu khi thấy cùng một bộ cờ được sử dụng trong 'GetMembers' .. – nawfal
Đồng ý, có thể gây nhầm lẫn. –