C# xmlをインスタンスして別Formで挿入または並び替え後の継承をしたいです
<AppSettings>
<FileFolder>D:\C#作成物</FileFolder>
<SKey>User0002</SKey>
<Users>
<User Id="User0004">
<date>2019/10/16</date>
<Key />
<Address>D:\C#作成物\顔マーク_フリー素材\img048_22.png</Address>
</User>
<User Id="User0002">
<date>2019/10/16</date>
<Key />
<Address>D:\C#作成物\顔マーク_フリー素材\img038_39.png</Address>
</User>
<User Id="User0003">
<date>2019/10/16</date>
<Key>3</Key>
<Address />
</User>
</Users>
</AppSettings>
public class AppSettings
{
public string FileFolder { get; set; };
public string SKey { get; set; };
public List<User> Users { get; set; }
public class User
{
[System.Xml.Serialization.XmlAttribute("Id")]
public string Id { get; set; }
public string date { get; set; }
public string Key { get; set; }
public string Address { get; set; }
}
[NonSerialized()]
private static AppSettings _instance;
[System.Xml.Serialization.XmlIgnore]
public static AppSettings Instance
{
get
{
if (_instance == null)
_instance = new AppSettings();
return _instance;
}
set { _instance = value; }
}
}
※xml追加などの作業はすべてMainFormで行い、ロード・セーブはインスタンスを行ったAppSettings.csでします
案1(MainForm)addで最後に追加後、ソートする
var query = (from x in AppSettings.Instance.Users
orderby x.Id
select x);
問題点:このソートではインスタンスに継承されないので、インスタンスにソートを反映させる方法を知りたいです。
案2(MainForm)インスタンスのId検索後、その手前にId以下date、Key、Addressを挿入したいです
indexを指定して挿入すれば良さそうですが、指定Idのindexを取得するにはどうしたらよいのでしょうか?
申し訳ありませんが、お力をお借りしたくよろしくお願いいたします
追記:
挿入方法など難しかったので、Idの情報や子ノードを消さずに変更する事で対応することにしました。よって質問自体は不要になってしまったのですが、今後必要になった場合に挿入の方法、ソートの反映に関してアドバイスいただけたら嬉しく思います。
よろしくお願いいたします