NServiceBus XmlSerializer是否可以使用抽象类型

本文关键字:抽象 抽象类 类型 可以使 XmlSerializer 是否 NServiceBus | 更新日期: 2023-09-27 18:20:44

我们使用带有内置XML序列化程序的NSB4。一段时间以来,我们一直在发送以下类型的信息

public interface IReply
{
    List<Quote> Quotes { get; set; }
}

最近,我们需要处理不同类型的引号,所有这些引号都继承了一个抽象类型QuoteBase,所以现在的回复看起来像这个

public interface IReply
{
    List<QuoteBase> Quotes { get; set; }
}

在运行时,列表中的报价是CarQuote或VanQuote。然而,我们发现XML序列化程序无法处理抽象类型列表。我们得到一个MemberAccessException类型的异常,其消息为"无法创建抽象类"。有人知道有什么办法吗?

NServiceBus XmlSerializer是否可以使用抽象类型

我找不到用抽象类实现这一点的方法,但它确实可以用接口(例如IQuote)实现。

相关文章: