I have an interface that defines some methods I would like certain classes to implement.
public interface IMyInterface { MethodA; MethodB; }
Additi
If you want to use the default serialization then you need to add the SerializableAttribute . One alternative would be to use an abstract class instead of an interface, then add the SerializableAttribute to the abstract class. If you're implementing your own custom serialization then you want to implement ISerializable, otherwise stick with SerializableAttribute .