関数のオーバーロードメソッドによって、さまざまなクラスのさまざまなオブジェクトを渡すにはどうすればよいですか?
コード例:
static public void SerializeToXML(Movie movie)
{
XmlSerializer serializer = new XmlSerializer(typeof(Movie));
TextWriter textWriter = new StreamWriter(@"C:\movie.xml");
serializer.Serialize(textWriter, movie);
textWriter.Close();
}
このコードを使用する場合:
static public void SerializeToXML(FbTextView p, FbTextField q)
{
try
{
XmlSerializer textviewserilizer = new XmlSerializer(typeof(FbTextView));
XmlSerializer textfieldserilizer = new XmlSerializer(typeof(FbTextField));
TextWriter textWriter = new StreamWriter(@"D:\movie.xml");
textviewserilizer.Serialize(textWriter, p);
textfieldserilizer.Serialize(textWriter, q);
textWriter.Close();
}
catch (Exception ex)
{
while (ex != null)
{
Trace.WriteLine(ex.Message);
ex = ex.InnerException;
MessageBox.Show(ex.Message);
}
throw;
}
}
その出力xmlには、次のような結果が表示されます。
XML Parsing Error: junk after document element
Location: file:///D:/movie.xml
Line Number 6, Column 14:</FbTextView><?xml version="1.0" encoding="utf-8"?>
-------------^