gpt4 book ai didi

.net - 是否可以覆盖现有 .net 类型的类型描述符?

转载 作者:行者123 更新时间:2023-12-02 15:08:51 25 4
gpt4 key购买 nike

或更具体地说

1) 我可以为属性分配类型描述符吗

2)如果是这样,在运行时获取类型转换器的最佳方法是什么。

基本上我有使用反射填充的配置对象。到目前为止,这仅适用于简单类型(字符串、整数、日期时间),但我想支持将逗号分隔列表转换为列表。

到目前为止,我已经通过从 ConvertableList<T> 派生自定义类型“List<T> ”来实现这一目标。并用我的自定义类型转换器装饰它。

最佳答案

您可以将 TypeConverter 关联到现有类型,例如:

    TypeDescriptor.AddAttributes(typeof(List<int>),
new TypeConverterAttribute(typeof(MyTypeConverter)));

(启动期间的某个地方)

然后要获取转换器,标准代码应该可以工作:

    TypeConverter conv = TypeDescriptor.GetConverter(typeof(List<int>));

或者:

    object obj = new List<int>();
...
TypeConverter conv = TypeDescriptor.GetConverter(obj);

关于.net - 是否可以覆盖现有 .net 类型的类型描述符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4713177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com