コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FunctionDescriptor"/> class.
        /// </summary>
        /// <param name="funcDescParams">Function descriptor parameters.</param>
        public FunctionDescriptor(FunctionDescriptorParams funcDescParams)
        {
            if (!String.IsNullOrEmpty(funcDescParams.Summary))
            {
                summary = funcDescParams.Summary;
            }

            pathManager  = funcDescParams.PathManager;
            Assembly     = funcDescParams.Assembly;
            ClassName    = funcDescParams.ClassName;
            FunctionName = funcDescParams.FunctionName;

            Parameters = funcDescParams.Parameters.Select(
                x =>
            {
                x.UpdateFunctionDescriptor(this);
                return(x);
            }).ToList();

            var type            = funcDescParams.FunctionType;
            var inputParameters = new List <Tuple <string, string> >();

            //Add instance parameter as one of the inputs for instance method as well as properties.
            if (type == FunctionType.InstanceMethod || type == FunctionType.InstanceProperty)
            {
                inputParameters.Add(Tuple.Create(UnqualifedClassName.ToLower(), UnqualifedClassName));
            }

            if (Parameters.Any())
            {
                inputParameters.AddRange(Parameters.Select(
                                             par => Tuple.Create(par.Name, par.DisplayTypeName)));
            }

            InputParameters       = inputParameters;
            ReturnType            = funcDescParams.ReturnType;
            Type                  = type;
            ReturnKeys            = funcDescParams.ReturnKeys;
            IsVarArg              = funcDescParams.IsVarArg;
            IsVisibleInLibrary    = funcDescParams.IsVisibleInLibrary;
            ObsoleteMessage       = funcDescParams.ObsoleteMsg;
            CanUpdatePeriodically = funcDescParams.CanUpdatePeriodically;
            IsBuiltIn             = funcDescParams.IsBuiltIn;
            IsPackageMember       = funcDescParams.IsPackageMember;
            IsLacingDisabled      = funcDescParams.IsLacingDisabled;
        }
コード例 #2
0
        public FunctionDescriptor(FunctionDescriptorParams funcDescParams)
        {
            if (!String.IsNullOrEmpty(funcDescParams.Summary))
            {
                summary = funcDescParams.Summary;
            }

            pathManager = funcDescParams.PathManager;
            Assembly = funcDescParams.Assembly;
            ClassName = funcDescParams.ClassName;
            FunctionName = funcDescParams.FunctionName;

            Parameters = funcDescParams.Parameters.Select(
                x =>
                {
                    x.UpdateFunctionDescriptor(this);
                    return x;
                }).ToList();

            var type = funcDescParams.FunctionType;
            var inputParameters = new List<Tuple<string, string>>();
            //Add instance parameter as one of the inputs for instance method as well as properties.
            if(type == FunctionType.InstanceMethod || type == FunctionType.InstanceProperty)
                inputParameters.Add(Tuple.Create(UnqualifedClassName.ToLower(), UnqualifedClassName));

            if (Parameters.Any())
            {
                inputParameters.AddRange(Parameters.Select(
                    par => Tuple.Create(par.Name, par.DisplayTypeName)));
            }

            InputParameters = inputParameters;
            ReturnType =  funcDescParams.ReturnType;
            Type = type;
            ReturnKeys = funcDescParams.ReturnKeys;
            IsVarArg = funcDescParams.IsVarArg;
            IsVisibleInLibrary = funcDescParams.IsVisibleInLibrary;
            ObsoleteMessage = funcDescParams.ObsoleteMsg;
            CanUpdatePeriodically = funcDescParams.CanUpdatePeriodically;
            IsBuiltIn = funcDescParams.IsBuiltIn;
            IsPackageMember = funcDescParams.IsPackageMember;
        }