Beispiel #1
0
 public TestObjectQuery(IDbProvider dbProvider)
     : base(dbProvider, sql)
 {
     //DeclaredParameters = new DbParameters(dbProvider);
     try
     {
         DeclaredParameters.Add("Name", SqlDbType.VarChar, 50);
     } catch (Exception e)
     {
         Console.WriteLine(e);
     }
     CommandType = CommandType.Text;
     Compile();
 }
Beispiel #2
0
 public NullArg(IDbProvider provider)
     : base(provider, "takes_null")
 {
     DeclaredParameters.Add("ptest", DbType.String);
     Compile();
 }
 public CreateTestObjectNonQuery(IDbProvider dbProvider) : base(dbProvider, sql)
 {
     DeclaredParameters.Add("Age", DbType.Int32);
     DeclaredParameters.Add("Name", SqlDbType.NVarChar, 16);
     Compile();
 }
Beispiel #4
0
        // TODO: ReturnTypeCustomAttributes

        public MethodInfo(Il2CppInspector pkg, int methodIndex, TypeInfo declaringType) :
            base(declaringType)
        {
            Definition = pkg.Metadata.Methods[methodIndex];
            Index      = methodIndex;
            if (Definition.methodIndex >= 0)
            {
                VirtualAddress = pkg.Binary.MethodPointers[Definition.methodIndex];
                HasBody        = true;
            }
            Name = pkg.Strings[Definition.nameIndex];

            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK) == Il2CppConstants.METHOD_ATTRIBUTE_PRIVATE)
            {
                Attributes |= MethodAttributes.Private;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK) == Il2CppConstants.METHOD_ATTRIBUTE_PUBLIC)
            {
                Attributes |= MethodAttributes.Public;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK) == Il2CppConstants.METHOD_ATTRIBUTE_FAM_AND_ASSEM)
            {
                Attributes |= MethodAttributes.FamANDAssem;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK) == Il2CppConstants.METHOD_ATTRIBUTE_ASSEM)
            {
                Attributes |= MethodAttributes.Assembly;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK) == Il2CppConstants.METHOD_ATTRIBUTE_FAMILY)
            {
                Attributes |= MethodAttributes.Family;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK) == Il2CppConstants.METHOD_ATTRIBUTE_FAM_OR_ASSEM)
            {
                Attributes |= MethodAttributes.FamORAssem;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_VIRTUAL) != 0)
            {
                Attributes |= MethodAttributes.Virtual;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_ABSTRACT) != 0)
            {
                Attributes |= MethodAttributes.Abstract;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_STATIC) != 0)
            {
                Attributes |= MethodAttributes.Static;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_FINAL) != 0)
            {
                Attributes |= MethodAttributes.Final;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_HIDE_BY_SIG) != 0)
            {
                Attributes |= MethodAttributes.HideBySig;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_VTABLE_LAYOUT_MASK) == Il2CppConstants.METHOD_ATTRIBUTE_NEW_SLOT)
            {
                Attributes |= MethodAttributes.NewSlot;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_PINVOKE_IMPL) != 0)
            {
                Attributes |= MethodAttributes.PinvokeImpl;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_SPECIAL_NAME) != 0)
            {
                Attributes |= MethodAttributes.SpecialName;
            }
            if ((Definition.flags & Il2CppConstants.METHOD_ATTRIBUTE_UNMANAGED_EXPORT) != 0)
            {
                Attributes |= MethodAttributes.UnmanagedExport;
            }

            // Add return parameter
            returnType      = pkg.TypeUsages[Definition.returnType];
            ReturnParameter = new ParameterInfo(pkg, -1, this);

            // Add arguments
            for (var p = Definition.parameterStart; p < Definition.parameterStart + Definition.parameterCount; p++)
            {
                DeclaredParameters.Add(new ParameterInfo(pkg, p, this));
            }
        }