I believe it is possible. If you implement the ISerializable interface then the serializer users your implementation instead of the attributes. Although I think you will still have to mark the class [Serializable].
Its a little more work than adding attributes but it does work.