public SerializableAction_Single(Object targetObject, SerializableFieldSetter target, object parameter) { Assert.IsTrue((parameter == null && !target.FieldType.IsValueType) || target.FieldType.IsInstanceOfType(parameter)); this.targetObject = targetObject; this.target = new SerializableActionTarget(target); arguments = new[] { new SerializableArgument(parameter, parameter.GetType(), "Field?") }; //@TODO: figure out name }
public SerializableAction_Single(Object targetObject, SerializableMethod target, params object[] parameters) { Assert.AreEqual(target.ParameterTypes.Length, parameters.Length); for (var i = 0; i < target.ParameterTypes.Length; i++) { var parameterType = target.ParameterTypes[i]; Assert.IsTrue((parameters[i] == null && !parameterType.SystemType.IsValueType) || parameterType.SystemType.IsInstanceOfType(parameters[i])); } this.targetObject = targetObject; this.target = new SerializableActionTarget(target); arguments = new SerializableArgument[parameters.Length]; for (int i = 0; i < arguments.Length; i++) { arguments[i] = new SerializableArgument(parameters[i], parameters[i].GetType(), target.ParameterNames[i]); } }