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); }
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; } }