Example #1
0
        ///<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);
        }
Example #2
0
        /// <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);
        }