APIが次のようなフレームワークが構築されています。
T Deserialize<T>(string to deserialize)
{
// XmlSerializer(typeof(T))
// deserialize and return
}
私たちはそれを次のように渡してきました:
[XmlRoot("apple")]
public class Apple
{
[XmlElement("Id")]
public int AppleId { get; set; }
}
これは、アップルが返送されたときにうまく機能しますが、「notAnApple」が表示されることもあります。したがって、「apple」または「notAnApple」のいずれかを取得します。「notAnApple」を取得すると、例外が発生します。
このメソッドを中心に多くのコードが構築されているので、メソッドのシグネチャなどを変更することは避けたいと思います。ただし、この逆シリアル化メソッドに好きなクラスを渡すことには、完全な柔軟性があります。