// どうにもこれという言葉が見当たらないようなので、
// アプリケーション設定の各プロパティのことを設定プロパティと書くことにします。
つまり、その設定プロパティが実際に読み書きする値はint1つで変わらないってことですね?
で、設定プロパティで独自の型を使用する方法もご存じであると。
であれば、まずその独自型に2つの属性を設定します。
[SettingsSerializableAs(SettingsSerializableAs.String)]
[TypeConverter(typeof(独自型コンバータ)]
public class 独自型 {
// 略
}
それと上記の独自型コンバータを定義し、TypeConverterから派生させて
4つほどメソッドをオーバーライドします。
class 独自型コンバータ : TypeConverter {
public override bool CanConvertFrom(引数略) {
// sourceTypeがStringならTrue、それ以外はbase.CanConvertFromの結果を返す
}
public override bool CanConvertTo(引数略) {
// destinationTypeがStringならTrue、それ以外はbase.CanConvertToの結果を返す
}
public override object ConvertFrom(引数略) {
// valueがStringなら、それをintにParseして独自型のインスタンスを生成し返す
// それ以外ならbase.ConvertFromの結果を返す
}
public override object ConvertTo(引数略) {
// destinationTypeがStringでvalueが独自型なら、valueのint表現の文字列を返す
// それ以外ならbase.ConvertToの結果を返す
}
}
|