NullableConverter用于WinForms组件的Nullable属性。

问题描述 投票:0回答:1

如果我写了一个WinForms可视化控件,并想把它的一个属性变成一个值型的 无效我是否需要为它创建一个特殊的类型转换器或编辑器来使它在VS属性网格中完全可用?

例如,.NET框架提供了 NullableConverter 类。我是否需要将它通过 TypeConverterAttribute?

我试着把其中一个 int 属性,以 int?在属性网格中,这个属性似乎工作正常。我可以指定一个数值,或者清除这个属性,使其再次为空。

winforms controls nullable propertygrid typeconverter
1个回答
0
投票

属性网格使用 类型描述符 来获取它的转换器信息。因此,例如,如果你有这个类。

public class MyClass
{
    public int? NullableInteger { get; set; }
}

用这段代码:

// get first property's type converter
var cv = TypeDescriptor.GetProperties(typeof(MyClass))[0].Converter;

你会得到 TypeConverter 对于 NullableInteger 财产,这已经是 NullableConverter.

所以,你不必手动声明它。

© www.soinside.com 2019 - 2024. All rights reserved.