1

私はジェネリック型を持っています:

public class Packet<T> where T : IContent
{
    private int id;
    public int Id { get { return this.id; } }

    private T content;
    public T Content { get { return this.content; } }
}

この型のインスタンスを XML との間で逆シリアル化/シリアル化したいと考えています。IContentは次のように定義されています。

public interface IContent
{
    XmlSerializer Serializer{get;}
}

Packet基本的に、コンテンツによって提供されるシリアライザーを使用して、コンテンツ メンバーをシリアライズおよびデシリアライズしたいと考えています。このシリアライザーは、実際には、sgen.exe によって生成されたコンパイル済みの xml シリアライザーのインスタンスです。

Packet<T>実装せずに可能IXmlSerializableですか?

4

2 に答える 2

1

はい、IXmlSerializable を使用してカスタム クラスを直接実装できます。
詳細については、この記事を参照してください。

于 2009-01-07T10:56:27.697 に答える
0

Generic Type を使用している場合、事前に完成した XmlSerializer を生成することはできません。

于 2009-08-25T10:21:07.357 に答える