我们建立了一个框架,它的 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”时,我得到了一个例外。
由于我们围绕这个方法构建了很多代码,我不希望四处更改方法签名之类的东西。但是,我确实可以完全灵活地将我喜欢的任何类传递给这个反序列化方法。