![](/img/trans.png)
[英]Generic Type Converter - TypeConverter or Convert.ChangeType
[英]TypeConverter for PropertyDescriptor.Converter
讓我們考慮數據綁定動態數據中描述的問題。 現在看看Marc Gravell Marc的答案給出的出色解決方案。 Marc提供了不使用TypeConverter的解決方案。 現在該提交我的問題了。 我沒有找到成功的示例代碼,該示例結合了TypeConverter
和PropertyDescriptor.Converter
來解決與此類似的問題。 Marc為字符串提供了一個簡單的解決方案,但是如果我們在其中添加其他類型(例如DateTime,int)怎么辦?
PS我正在使用自己的IBindingList
, IList
, ITypedList
, ICustomTypeDescriptor
實現用於索引器並在UI上包裝對象...但是當涉及TypeConverter
以及編程中缺席10年的C#時,我是一個菜鳥世界[必要,但也很快樂]。
最后,我這樣做是這樣的:
我創建了自己的TypeConverter
稱為CharacteristicTypeConverter
。
在我的PropertyDescriptor構造函數的實現中,添加了:
var attrs = new List<Attribute>();
attrs.Add(new TypeConverterAttribute(typeof(CharacteristicTypeConverter)));
this.AttributeArray = attrs.ToArray();
要將上下文傳遞給轉換器,我從這里使用Marc Gravell的技巧: http : //bytes.com/topic/c-sharp/answers/676604-expandableobjectconvertors-typeconverters來實現ITypeDescriptorContext
。
在我的PropertyDescriptor
實現的GetValue/SetValue
,按如下方式使用轉換器: Converter.ConvertTo(...)
, Converter.ConvertFrom
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.