コード例 #1
0
        internal RuntimeTypeInfo TryResolve(TypeContext typeContext, ref Exception exception)
        {
            if (Reader is global::Internal.Metadata.NativeFormat.MetadataReader)
            {
                return(_handle.TryResolve((global::Internal.Metadata.NativeFormat.MetadataReader)Reader, typeContext, ref exception));
            }

#if ECMA_METADATA_SUPPORT
            global::System.Reflection.Metadata.MetadataReader ecmaReader = Reader as global::System.Reflection.Metadata.MetadataReader;
            if (ecmaReader != null)
            {
                return(TryResolveSignature(typeContext, ref exception));
            }
#endif

            throw new BadImageFormatException();  // Expected TypeRef, Def or Spec with MetadataReader
        }
コード例 #2
0
ファイル: TypeResolver.cs プロジェクト: yongweisun/corert
        internal static RuntimeTypeInfo TryResolve(this QTypeDefRefOrSpec typeDefOrRefOrSpec, TypeContext typeContext, ref Exception exception)
        {
            if (typeDefOrRefOrSpec.IsNativeFormatMetadataBased)
            {
                return(global::Internal.Metadata.NativeFormat.Handle.FromIntToken(typeDefOrRefOrSpec.Handle).TryResolve((global::Internal.Metadata.NativeFormat.MetadataReader)typeDefOrRefOrSpec.Reader, typeContext, ref exception));
            }

#if ECMA_METADATA_SUPPORT
            global::System.Reflection.Metadata.MetadataReader ecmaReader = typeDefOrRefOrSpec.Reader as global::System.Reflection.Metadata.MetadataReader;
            if (ecmaReader != null)
            {
                return(global::System.Reflection.Metadata.Ecma335.MetadataTokens.Handle(typeDefOrRefOrSpec.Handle).TryResolve(ecmaReader, typeContext, ref exception));
            }
#endif

            throw new BadImageFormatException();  // Expected TypeRef, Def or Spec with MetadataReader
        }