如何为特定类型添加 TypeConverter?
How can I add a TypeConverter for a particular type?
在 C# 中,如果我有一个 属性 类型的对象,并且我知道对象的类型,我如何显示 属性 的默认类型转换器?
这是一些代码:
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。
我有一种预感,你可以达到你想要的效果through the use of Generics:
class GenericsExample<T>{
private T _value { get; set; }
public T Value
{
get
{
return _value;
}
set
{
_value = value;
}
}
}
然后可以使用给定类型(例如 bool)创建 class 的实例,并且可以从 class 返回任何该类型的变量:
class Program
{
static void Main()
{
var genericsExample = new GenericsExample<bool>();
genericsExample.Value = true;
Console.WriteLine("Value is " + genericsExample.Value);
}
}
这是否符合您要查找的内容?
我找到了需要的代码。
这里是:
public TypeConverter GetValueTypeConverter()
{
TypeConverter typeConverter = TypeDescriptor.GetConverter(_valueType);
return typeConverter;
}
在 C# 中,如果我有一个 属性 类型的对象,并且我知道对象的类型,我如何显示 属性 的默认类型转换器?
这是一些代码:
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。
我有一种预感,你可以达到你想要的效果through the use of Generics:
class GenericsExample<T>{
private T _value { get; set; }
public T Value
{
get
{
return _value;
}
set
{
_value = value;
}
}
}
然后可以使用给定类型(例如 bool)创建 class 的实例,并且可以从 class 返回任何该类型的变量:
class Program
{
static void Main()
{
var genericsExample = new GenericsExample<bool>();
genericsExample.Value = true;
Console.WriteLine("Value is " + genericsExample.Value);
}
}
这是否符合您要查找的内容?
我找到了需要的代码。
这里是:
public TypeConverter GetValueTypeConverter()
{
TypeConverter typeConverter = TypeDescriptor.GetConverter(_valueType);
return typeConverter;
}