public object DeserializerObject(InputChannel channel) { var obj = Activator.CreateInstance(this.type); foreach (var prop in this.properties) this.type.GetProperty(prop.Name).SetValue(obj, channel.Read(), null); return obj; }