Эээээ....
Во-первых, присобачить классу атрибут <Serializable>.
Во-вторых, создать форматтер типа binary или SOAP (например, runtime.serialization.formatters.soap.soapformatter), а также io.memorystream.
В-третьих, вызвать formatter.serialize (stream,object). Получаем объект, сериализованный в потоке.... Куда мы его потом денем - это уже другой вопрос, но теперь его можно передать куда-нибудь как строку
На обратной стороне всё наоборот... Берём эту строку, пишем её в memorystream, опять же объявляем formatter того же типа, что и раньше, потом юзаем deserialize у этого форматтера...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас