Serialization - Kittyfisto/SharpRemote GitHub Wiki
This library features a built-in serializer in order to serialize / deserialize argument values, return values and exceptions being passed by the "remote" interface.
Supported Types
This serializer comes with built-in support for a lot of .NET framework types, including (but not limited to):
- Collections
- Array
- List<>
- HashSet<>
- Stack<>
- Queue<>
- Dictionary<,>
- LinkedList<>
- SortedSet<>
- SortedList<,>
- SortedDictionary<,>
- string, int, etc...
- KeyValuePair<,>
- Type
- IPAddress
- IPEndPoint
- TimeSpan
- DateTime
- DateTimeOffset
- Guid
- Nullable<>
- ApplicationId
- Uri
- Any Enum
If you think an important type is missing, feel free to open an issue about it.
Custom Types
A custom type must conform to the following rules in order to be serializable:
- The type must be marked with the DataContractAttribute
- Any field / property that should be serialized must be marked with the DataMemberAttribute
- Any field / property that should be serialized must not be read-only
- Any field / property that should be serialized must either be itself a supported custom type or be one of the natively supported types