Forçando serializável a partir de uma interface sem forçar classes a serializar personalizadas em C #
Eu tenho uma interface que define alguns métodos que eu gostaria que certas classes implementassem.
public interface IMyInterface { MethodA; MethodB; }
Além disso, gostaria que todas as classes que implementassem essa interface fossem serializáveis. Se eu alterar a definição da interface para implementar ISerializable como abaixo ...:
public interface IMyInterface : ISerializable { MethodA; MethodB; }
... todas as classes agora devem implementar explicitamente a serialização, tanto quanto sei, pois se você implementar ISerializable, deverá implementar o membro GetObjectData (e o construtor necessário para desserializar).
Como posso insistir que as classes que usam minha interface sejam serializáveis, mas sem forçá-las a implementar a serialização de maneira personalizada?
Obrigado Will