私は、インタフェースIDeliveryを実装する2つのクラスSccmActionとTicketActionを持っています。これらのクラスは、メッセージを取得してDeliverメソッドで処理したい処理キューで送信されます。インタフェースへのXMLオブジェクトの逆シリアル化
私はそうしようとするとSystem.NotSupportedExceptionがスローされるので、私はインターフェイスに逆シリアル化できないようです。私が収集したことから、XMLSerializerには、シリアル化の具体的な型が必要です。これは、IDeliveryを実装し、そこからSccmActionとArsActionを継承する抽象クラスを作成しなければならないのですか?私は何かを逃したことがありますか?
編集さらに明確化
私は設計上の欠陥を持っているかもしれませんが、私の目的は、これらのオブジェクトを含むキューのオフにメッセージを引っ張っています。私の意図は、このキューからすべてのオブジェクトを取り除いて、オブジェクトを処理するアプリケーションがDeliverメソッドで動作することを保証するインタフェースを実装することでした。 Deliverの各オブジェクトの実装はさまざまです。
コードは
[Serializable]
public class SccmAction : IDelivery
{
public string MachineName { get; set; }
public string CollectionName { get; set; }
public string Action { get; set; }
public DateTime EntryDateTime { get; set; }
public SccmAction() { }
public void Deliver()
{
throw new NotImplementedException();
}
}
[Serializable]
public class ArsAction : IDelivery
{
public string MachineName { get; set; }
public string CustomerName { get; set; }
public ArsAction() { }
public void Deliver()
{
throw new NotImplementedException();
}
}
public interface IDelivery
{
void Deliver();
}
XmlSerializerは型に対して '[Serializable]'を必要とせず、後者はバイナリの直列化用です。 –
それを知りませんでした、チップをありがとう。 – ahsteele