Mono.Cecil.Cil.SymbolProvider.GetPlatformType C# (CSharp) Method

GetPlatformType() static private method

static private GetPlatformType ( string fullname ) : Type
fullname string
return System.Type
        static Type GetPlatformType(string fullname)
        {
            var type = Type.GetType (fullname);
            if (type != null)
                return type;

            var assembly_name = GetPlatformSymbolAssemblyName ();

            type = Type.GetType (fullname + ", " + assembly_name.FullName);
            if (type != null)
                return type;

            try {
                var assembly = SR.Assembly.Load (assembly_name);
                if (assembly != null)
                    return assembly.GetType (fullname);
            } catch (FileNotFoundException) {
            } catch (FileLoadException) {
            }

            return null;
        }

Usage Example

        public static ISymbolWriterProvider GetPlatformWriterProvider()
        {
            if (SymbolProvider.writer_provider != null)
            {
                return(SymbolProvider.writer_provider);
            }
            Type platformType = SymbolProvider.GetPlatformType(SymbolProvider.GetProviderTypeName("WriterProvider"));

            if (platformType == null)
            {
                return(null);
            }
            ISymbolWriterProvider symbolWriterProvider = (ISymbolWriterProvider)Activator.CreateInstance(platformType);

            SymbolProvider.writer_provider = symbolWriterProvider;
            return(symbolWriterProvider);
        }