私のシリアライズ可能クラスは以下の通りですが、正しくコピーするようにしようとしています。私が正しくdict_Options、dictFilterPermissions、およびlistAdvancedOptionsをコピーするにはどうすればよい辞書オブジェクトをASP.Netにコピーします。
public class AppContext : IXmlSerializable
{
public bool autoGeneratedTitle = true;
public bool truncateLabels = false;
public IDictionary<string, OPTIONS> dict_Options = new Dictionary<string, OPTIONS>();
// Advanced Options
public List<string> listAdvancedOptions = new List<string>();
public IDictionary<string, string> dictFilterPermissions = new Dictionary<string, string>();
public class OPTIONS {
public string subjectId = string.Empty;
public string varNumber = string.Empty;
public string varName = string.Empty;
public string format = string.Empty;
public string varLabel = string.Empty;
public IDictionary<string, string> dictTagElements = new Dictionary<string, string>();
public IDictionary<string, string> dictRefElements = new Dictionary<string, string>();
////TJM add includeZero
public string includeZero = string.Empty;
}
public void CopyContext(AppContext copy)
{
autoGeneratedTitle = copy.autoGeneratedTitle;
truncateLabels = copy.truncateLabels;
dict_Options = ?;
dictFilterPermissions = ?;
listAdvancedOptions = ?;
}
}
?
、それはあなたに役立つでしょうか? public staticオブジェクトDeepClone(オブジェクトソース) { MemoryStream m = new MemoryStream(); BinaryFormatter b =新しいBinaryFormatter(); b.Serialize(m、source); m.Position = 0; return b.Deserialize(m); } –
私はそれを試してみましょう。 – cdub