Ejemplo n.º 1
0
        public typedParam(typedParamInfo __info, String input)
        {
            _info = __info;

            input  = input.Trim('\"');
            _value = input.imbConvertValueSafe(info.type);
        }
        public void setFromMethodInfo(MethodInfo methodInfo)
        {
            ParameterInfo[] pars = methodInfo.GetParameters();
            _info = new typedParamInfoCollection();

            foreach (ParameterInfo par in pars)
            {
                if (!par.IsRetval)
                {
                    typedParamInfo tPI = new typedParamInfo(par);
                    info.Add(tPI);
                    typedParam tP = new typedParam(tPI, par.DefaultValue.toStringSafe(""));
                    Add(tP);
                }
            }
        }
        /// <summary>
        /// Sets from declaration line like: word:String;steps=5:Integer;
        /// </summary>
        /// <param name="declaration">The declaration.</param>
        public void setFromDeclaration(String declaration)
        {
            if (declaration == "param:type;paramb:type;")
            {
                return;
            }

            var matches = PARAMFORMAT_DoubleDot.Matches(declaration);

            _info = new typedParamInfoCollection();

            foreach (Match mch in matches)
            {
                typedParamInfo tPI = new typedParamInfo(mch.Groups[1].Value, mch.Groups[3].Value);
                info.Add(tPI);
                typedParam tP = new typedParam(tPI, mch.Groups[2].Value);
                Add(tP);
            }
        }