will dynamic
actually be able to un-parse to such? that’s somewhat doubtful, actually.
it should be noted that the c# msgpack deserialization layer has NO NOTION OF TARGET TYPES, so you will only get the following types out:
- primitives
- string
- byte
- callback reference
- IList<object> (actually List<object>)
- IDictionary<string, object> (actually ExpandoObject)
if there’s a type conversion defined by the framework (IConvertible + Convert.ChangeType on original types, or Type.IsAssignableFrom), you can also alternate arguments of this type, but any other types are not supported as argument to callback/event handlers, and you’ll have to write your own deserialization logic for such purposes.
of course, a limited serializer does exist, but it will fail on any slightly complex data types.
this would be documented elsewhere but we currently do not have any easily-editable place for quick snippets of such documentation so no such thing is happening right now.
it is also uncertain why this decision was made, it apparently was made by the original FiveM developers in 2014 without real motivation being in commit messages or comments, but it’s imaginable that msgpack-cli’s deserialization code didn’t work in restricted Mono at the time.