private IEnumerable<object> GetArgs(DaemonMsgCreateData proto)
{
var args = new object[proto.Props.ArgsCount];
for (int i = 0; i < args.Length; i++)
{
var typeName = proto.Props.GetClasses(i);
var arg = proto.Props.GetArgs(i);
if (typeName == "" && ByteString.Empty.Equals(arg))
{
//HACK: no typename and empty arg gives null
args[i] = null;
}
else
{
Type t = null;
if (typeName != null)
t = Type.GetType(typeName);
args[i] = Deserialize(arg, t);
}
}
return args;
}