如何为特定类型添加TypeConverter
本文关键字:类型 添加 TypeConverter | 更新日期: 2023-09-27 18:07:37
在c#中,如果我有一个object类型的属性,并且我知道该对象的类型,我如何显示该属性的默认TypeConverter ?
下面是一些代码:private Type _valueType { get; set; }
public Type ValueType
{
get
{
return _valueType;
}
set
{
_valueType = value;
}
}
private object _value { get; set; }
public object Value
{
get
{
return _value;
}
set
{
_value = value;
}
}
在上面的代码中,如果ValueType属性是bool,我如何在Value属性上显示bool的默认TypeConverter ?
这是一个PropertyGrid对象的SelectedObject
我已经计算出所需的代码。
在这里:
public TypeConverter GetValueTypeConverter()
{
TypeConverter typeConverter = TypeDescriptor.GetConverter(_valueType);
return typeConverter;
}
我有一种预感,你可以通过使用泛型来实现你正在寻找的效果:
class GenericsExample<T>{
private T _value { get; set; }
public T Value
{
get
{
return _value;
}
set
{
_value = value;
}
}
}
你的类实例可以用一个给定的类型(例如bool)创建,任何类型的变量都可以从你的类返回:
class Program
{
static void Main()
{
var genericsExample = new GenericsExample<bool>();
genericsExample.Value = true;
Console.WriteLine("Value is " + genericsExample.Value);
}
}
这是你想要的吗?