アダプター構成のカスタム型コンバーター
カスタム エディターと同様に、カスタム型コンバーターは、その子のいずれかの System.ComponentModel.TypeConverter クラスをオーバーライドします。 このとき、コンバーターでは値が保持されるように書式が追加されますが、プロパティ ページには表示されません。 ConvertFrom メソッドは文字列値の周りに角かっこを追加し、ConvertTo メソッドはそれらを削除します。
次のコードはカスタム型コンバーターのクラス定義です。
using System;
using System.ComponentModel;
namespace AdapterManagement.ComponentModel {
public class DesignerTypeConverter : StringConverter {
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) {
return (typeof(String) == destinationType) || base.CanConvertTo (context, destinationType);
}
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) {
if (typeof(String) == destinationType && value is String) {
return ((String)value).TrimStart('[').TrimEnd(']');
}
return base.ConvertTo (context, culture, value, destinationType);
}
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
return (typeof(String) == sourceType) || base.CanConvertFrom (context, sourceType);
}
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) {
if (value is String) {
return "["+(String)value+"]";
}
return base.ConvertFrom (context, culture, value);
}
}
}
参照
カスタム アダプター構成デザイナー
アダプター構成のカスタム ドロップダウン エディター
アダプター構成のカスタム モデル ダイアログ エディター
アダプターの詳細構成コンポーネント