Of course you could, I'm just not so sure about what you mean. There are many patterns that could be used in order to send and retrieve data properly and preserving its purpose, destination and even its structure.
The idea is simply, Lets say that you have a remote object.
class RemoteObject
{
public SerializableData getData() {
}
And also you have got the definition of SerializeableData, which is a simple class, with the attribute [Serializable] on top of it.
[Serializable]
class SerializableData
{
}
All you gotta do next, is figure out how to use .NET's Serialization (which supplies methods object to byte[] and then byte[] to object), and you are good to go. You could read all about it:
http://www.codeproject.com/KB/cs/objserial.aspx[
^]. The example there is explaining how you could serialize an object into and out of a file, but you could similar methods, and implement writing and reading it from a network stream.