[ProtoContract]
class A
{
[ProtoMember(1)]
public B bbb
{
get;set; //getter & setter is here
}
}
[ProtoContract]
public class B : IData
{
///???0
[ProtoMember(1)]
public IEnumerable <IData> subData
{
get;set; //getter & setter is here
//the setter puts some data inn structure that in fact contains List<T> plus some simple int's
}
///????
public interface IData: Iface1
{
///????
IEnumerable<Iface3> data2 {get;}
///????
IEnumerable<IData> subdata{get;}
}
A クラス オブジェクトをシリアル化しようとすると、次のようなエラーが表示されます:" No serializer defined for type: System.Collections.Generic.IEnumerable`1 [IData, namespaceMy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]
問題は、その IEnumerable をどのようにシリアル化および逆シリアル化できるかということです。
IEnumerable を List<> に変更するのは悪い考えでした (( このプログラムの多くのコードが IEnumerable を待っており、大量のエラーが発生します。重複の可能性があるため、その場合、型 T はインターフェイスではありませんでした