Tại sao SomeClass.ClassField.StructField
thuộc tính không thay đổi trong một propertyGrid
? Có vẻ như, propertyGrid
không gọi SomeClass.ClassField.set
sau khi phiên bản SomeStruct
đã được thay đổi. Nhưng cùng một mã hoạt động tốt với Point
thay vì SomeStruct
.Sửa đổi thuộc tính cấu trúc trong PropertyGrid
[TypeConverter(typeof(ExpandableObjectConverter))]
public struct SomeStruct
{
private int structField;
public int StructField
{
get
{
return structField;
}
set
{
structField = value;
}
}
public override string ToString()
{
return "StructField: " + StructField;
}
}
[TypeConverter(typeof(ExpandableObjectConverter))]
public sealed class SomeClass
{
public SomeStruct ClassField
{
get;
set;
}
}
...
var someClass = new SomeClass
{
ClassField = new SomeStruct
{
StructField = 42
}
};
propertyGrid.SelectedObject = someClass;
cấu trúc được coi là bất biến – Filip
Cái này là có thể thay đổi. Tương tự như Point/Rectangle/etc. – nitrocaster
điểm tốt (ký tự thừa) – Filip