動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

シリアライズしてXMLにできる(Privateのみ出力できない)

出典: 【C#】プロパティとフィールド(メンバ変数)の決定的な違い!プロパティのおいしさ / シリアライズしてXMLにできる(Privateのみ出力できない)

シリアライズしてXMLにできる(Privateのみ出力できない) (csharp)#7d09cf0c607a
    public class XmlHelper<T> where T : class
    {
        public string TargetPath { get; set; }
        private Encoding encoding => System.Text.Encoding.GetEncoding("shift_jis");
 
    public XmlHelper(string targetPath)
    {
        TargetPath = targetPath;
    }
 
    public XmlHelper() : base()
    {
    }
 
    public void Save(T data)
    {
        var serializer = new XmlSerializer(typeof(T));
        using (var writer = new StreamWriter(TargetPath, false, encoding))
        {
            serializer.Serialize(writer, data);
            writer.Close();
        }
    }
 
    /// <summary>
    /// XMLファイルを読み込む
    /// </summary>
    public T Read()
    {
        var serializer = new XmlSerializer(typeof(T));
        T obj;
        using (var reader = new StreamReader(TargetPath, encoding))
        {
            obj = (T)serializer.Deserialize(reader);
            reader.Close();
        }
        return obj;
    }
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #7d09cf0c607a
  • lines: 39
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「プロパティのおいしさ / シリアライズしてXMLにできる(Privateのみ出力できない)」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

5
図鑑トップ