Exemple #1
0
        public static NParameter[] GetParameters(MethodInfo info)
        {
            var methodParameters = info.GetParameters();
            var parameters       = new NParameter[methodParameters.Length];

            for (int i = 0; i < methodParameters.Length; i += 1)
            {
                NParameter nParameter = new NParameter(
                    methodParameters[i].IsIn,
                    methodParameters[i].IsOut,
                    methodParameters[i].ParameterType.IsByRef,
                    false,
                    methodParameters[i].Name,
                    methodParameters[i].ParameterType
                    );

                parameters[methodParameters[i].Position] = nParameter;
            }
            return(parameters);
        }
Exemple #2
0
        public NMember(
            bool canWrite,
            bool canRead,
            bool isConst,
            string name,
            Type type,
            MemberTypes kind,
            bool isStatic,
            bool isAsync,
            bool isAbstract,
            bool isVirtural,
            bool isNew,
            bool isOverride,
            NParameter[] parameters    = null,
            NParameter returnParameter = null)

        {
            CanWrite    = canWrite;
            CanRead     = canRead;
            IsConst     = isConst;
            IsStatic    = isStatic;
            IsAsync     = isAsync;
            IsAbstract  = isAbstract;
            IsVirtual   = isVirtural;
            IsOverride  = isOverride;
            IsNew       = isNew;
            MemberName  = name;
            MemberType  = type;
            MemberKind  = kind;
            IsArray     = ElementType.IsArray;
            IsInterface = type.IsInterface;
            if (IsArray)
            {
                while (ElementType.HasElementType)
                {
                    ArrayLayer += 1;
                    ElementType = ElementType.GetElementType();
                }
                ArrayDimensions = type.GetConstructors()[0].GetParameters().Length;
            }
        }