C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■88620 / 1階層)  クラスや構造体をintとしてシリアル化したい
□投稿者/ Hongliang (697回)-(2018/09/11(Tue) 16:35:37)
// どうにもこれという言葉が見当たらないようなので、
// アプリケーション設定の各プロパティのことを設定プロパティと書くことにします。

つまり、その設定プロパティが実際に読み書きする値は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の結果を返す
    }
}

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←クラスや構造体をintとしてシリアル化したい /かな →Re[2]: クラスや構造体をintとしてシリアル化したい /かな
 
上記関連ツリー

クラスや構造体をintとしてシリアル化したい / かな (18/09/11(Tue) 10:52) #88615
クラスや構造体をintとしてシリアル化したい / Hongliang (18/09/11(Tue) 16:35) #88620 ←Now
  └ Re[2]: クラスや構造体をintとしてシリアル化したい / かな (18/09/11(Tue) 18:15) #88621 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信