ProtoBuf-net serializando IEnumerable <T>
Estou tentando usar o ProtoBuf-NET no meu projeto (principalmente o projeto Silverlight 4.
Estou tendo dificuldades em serializar minhas coleções de modelos, todas elas são definidas assim:
private List<T> _itemsSet;
public IEnumerable<T> TSet
{
get {return _itemsSet;}
set {_itemsSet = value == null ? new List<T>() : new List<T>(value);}
}
public void AddT(T item)
{
//Do my logic here
_itemsSet.Add(item);
}
Atualizar Primeiro eu não consigo serializar -No serializer defined for type: System.Collections.Generic.IEnumerable
1 [MyType] `. Segundo, acho que não poderei dessirializá-lo com base em análises manuais e de código-fonte protobuf-ne
ProtoMember(1, OverwriteList=true)
não funciona? Ele não substitui a coleção e não deve se importar comAdd<T>()
método? Por que simplesmente não tenta definir essa propriedade como T [] ouList<T>
ou qualquer conjunto atribuível aIEnumerable<T>
? Existe uma maneira de fornecer um mecanismo de reflexão personalizado para trabalhar com campos particulares no Silverlight, como: implementando:public interface IReflectable{ object GetValue(FieldInfo field); void SetValue(FieldInfo field, object value); }
para trabalhar com campos particulares. Eu usei essa abordagem para trabalhar com campos particulares com o Db4o:http: //community.versant.com/Forums/tabid/98/aft/10881/Default.aspQuais as opções que tenho, exceto a criação deMyTypeCollection<T> : Collection<T>
?