System.ModuleHandle.ResolveType C# (CSharp) Méthode

ResolveType() private méthode

private ResolveType ( int typeToken, RuntimeTypeHandle typeInstArgs, int typeInstCount, RuntimeTypeHandle methodInstArgs, int methodInstCount ) : RuntimeTypeHandle
typeToken int
typeInstArgs RuntimeTypeHandle
typeInstCount int
methodInstArgs RuntimeTypeHandle
methodInstCount int
Résultat RuntimeTypeHandle
        private extern unsafe RuntimeTypeHandle ResolveType(int typeToken, 
                                                            RuntimeTypeHandle* typeInstArgs, 
                                                            int typeInstCount,
                                                            RuntimeTypeHandle* methodInstArgs,
                                                            int methodInstCount);

Usage Example

Exemple #1
0
        internal static unsafe RuntimeType ResolveTypeHandleInternal(RuntimeModule module, int typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
        {
            ModuleHandle.ValidateModulePointer(module);
            if (!ModuleHandle.GetMetadataImport(module).IsValidToken(typeToken))
            {
                throw new ArgumentOutOfRangeException("metadataToken", Environment.GetResourceString("Argument_InvalidToken", (object)typeToken, (object)new ModuleHandle(module)));
            }
            int length1;

            IntPtr[] numArray1 = RuntimeTypeHandle.CopyRuntimeTypeHandles(typeInstantiationContext, out length1);
            int      length2;

            IntPtr[] numArray2 = RuntimeTypeHandle.CopyRuntimeTypeHandles(methodInstantiationContext, out length2);
            IntPtr[] numArray3 = numArray1;
            // ISSUE: cast to a reference type
            // ISSUE: explicit reference operation
            // ISSUE: explicit reference operation
            fixed(IntPtr *typeInstArgs = & ^ (numArray1 == null || numArray3.Length == 0 ? (IntPtr&)IntPtr.Zero : @numArray3[0]))
            fixed(IntPtr * methodInstArgs = numArray2)
            {
                RuntimeType o = (RuntimeType)null;

                ModuleHandle.ResolveType(module, typeToken, typeInstArgs, length1, methodInstArgs, length2, JitHelpers.GetObjectHandleOnStack <RuntimeType>(ref o));
                GC.KeepAlive((object)typeInstantiationContext);
                GC.KeepAlive((object)methodInstantiationContext);
                return(o);
            }
        }
All Usage Examples Of System.ModuleHandle::ResolveType