我有以下用于PropertyGrid的自定义类。举个例子:
[DefaultPropertyAttribute("SaveOnClose")]
public class MyData
{
private UInt32 _MaximumUploadFileSizeKB = _k_MaximumUploadFileSizeKB;
const UInt32 _k_MaximumUploadFileSizeKB = 262144;
[CategoryAttribute("Server Settings"),
DefaultValueAttribute(_k_MaximumUploadFileSizeKB),
DescriptionAttribute("The maximum allowed upload file size in KBytes.")]
public UInt32 MaximumUploadFileSizeKB
{
get { return _MaximumUploadFileSizeKB; }
set
{
_MaximumUploadFileSizeKB = value > 0 ? value : 1;
}
}
}
PropertyGrid初始化为:
PropertyGrid propertyGrid = new PropertyGrid();
propertyGrid.SelectedObject = new MyData();
这样可行,但是当我尝试将当前选定的属性网格项设置为默认值时:
void ResetFieldToDefault()
{
propertyGrid.ResetSelectedProperty(); //Throws exception
}
它引发了这个异常:
类型对象&Systems.Int64'无法转换为类型 ' System.UInt32'
我在代码中的任何地方都没有看到我使用Int64
类型的地方。知道这里发生了什么吗?