2
オブジェクトをXMLの文字列に変換するメソッドがあります。これは素晴らしいですが、出力XMLにオブジェクトプロパティ(文字列、int、doubleなど)のデータ型を含める必要があります。私は高低を検索しましたが、カスタムシリアライザを書かずに解決策を見つけることはできません。.Net XmlSerializer出力データ型
ご協力いただければ幸いです。
.NETでprivate static string ToXML<t>(t obj, bool indent = false)
{
System.Xml.Serialization.XmlSerializerNamespaces ns = new System.Xml.Serialization.XmlSerializerNamespaces();
XmlSerializer xs = new XmlSerializer(typeof(t));
StringBuilder sbuilder = new StringBuilder();
var xmlws = new System.Xml.XmlWriterSettings() {OmitXmlDeclaration = true, Indent = indent};
ns.Add(string.Empty, string.Empty);
using (var writer = System.Xml.XmlWriter.Create(sbuilder, xmlws))
{
xs.Serialize(writer, obj, ns);
}
string result = sbuilder.ToString();
ns = null;
xs = null;
sbuilder = null;
xmlws = null;
return result;
}
また、スタイルの提案 - 大文字で始まる大文字または識別子を使用して、型パラメータをジェネリックに表現します。 Microsoftが正当な理由でこれを推奨する方法です。一見して、コードの読者は、オブジェクト自体ではなく、メソッドに渡される型パラメータが「T」であることを知っています。 – RyanR
btw、C#では、あなたの地域住民を 'null'に割り当てる必要はありません.... –