示例#1
0
        public CLRFFIFunctionPointer(CLRDLLModule module, string name, MemberInfo info, List <ProtoCore.Type> argTypes, ProtoCore.Type returnType)
        {
            Module         = module;
            Name           = name;
            ReflectionInfo = FFIMemberInfo.CreateFrom(info);

            mArgTypes = argTypes == null?GetArgumentTypes() : argTypes.ToArray();

            mReturnType = returnType;
        }
 private ProtoCore.Type[] GetArgumentTypes(FFIMemberInfo member)
 {
     return(member.GetParameters().Select(
                pi => CLRModuleType.GetProtoCoreType(pi.ParameterType, Module)
                ).ToArray());
 }
 private ProtoCore.Type[] GetArgumentTypes(FFIMemberInfo member)
 {
     return member.GetParameters().Select(
         pi => CLRModuleType.GetProtoCoreType(pi.ParameterType, Module)
         ).ToArray();
 }
        public CLRFFIFunctionPointer(CLRDLLModule module, string name, MemberInfo info, List<ProtoCore.Type> argTypes, ProtoCore.Type returnType)
        {
            Module = module;
            Name = name;
            ReflectionInfo = FFIMemberInfo.CreateFrom(info);

            if (argTypes == null)
                mArgTypes = GetArgumentTypes(ReflectionInfo);
            else
                mArgTypes = argTypes.ToArray();

            mReturnType = returnType;
        }