///<summary> /// /// Creates a new object that is a copy of the current instance. /// ///</summary> /// ///<returns> /// /// A new object that is a copy of this instance. /// ///</returns> ///<filterpriority>2</filterpriority> public object Clone() { PatchInstructionParameter parameterClone = MakeParameter(Name); if (_Value != null) { parameterClone._Value = _Value.Clone() as string; } return(parameterClone); }
/// <summary> /// Returns a parameter according to the specified name /// </summary> /// <param name="parameterName">Name of parameter to generate</param> /// <returns>Corresponding parameter</returns> public static PatchInstructionParameter MakeParameter(string parameterName) { PatchInstructionParameter resultP = null; if (!string.IsNullOrEmpty(parameterName)) { parameterName = String2.ToPascalCase(parameterName); string fullClassName = string.Format(_FORMAT_PARAMETER_CLASS, parameterName); //ObjectHandle dynamicObject = Activator.CreateInstance(null, fullClassName); // To solve culture issues ?? ObjectHandle dynamicObject = Activator.CreateInstance(null, fullClassName, false, BindingFlags.CreateInstance, null, null, CultureInfo.InvariantCulture, null, null); if (dynamicObject != null) { resultP = dynamicObject.Unwrap() as PatchInstructionParameter; } } return(resultP); }