Поделиться через


CompilerInfo.CreateProvider Метод

Определение

Возвращает экземпляр CodeDomProvider для параметров поставщика текущего языка.

Перегрузки

CreateProvider()

Возвращает экземпляр CodeDomProvider для параметров поставщика текущего языка.

CreateProvider(IDictionary<String,String>)

Возвращает экземпляр CodeDomProvider для параметров поставщика текущего языка и заданных параметров.

CreateProvider()

Исходный код:
CompilerInfo.cs
Исходный код:
CompilerInfo.cs
Исходный код:
CompilerInfo.cs

Возвращает экземпляр CodeDomProvider для параметров поставщика текущего языка.

public:
 System::CodeDom::Compiler::CodeDomProvider ^ CreateProvider();
public System.CodeDom.Compiler.CodeDomProvider CreateProvider ();
member this.CreateProvider : unit -> System.CodeDom.Compiler.CodeDomProvider
Public Function CreateProvider () As CodeDomProvider

Возвращаемое значение

Поставщик CodeDOM, связанный с конфигурацией поставщика языка.

Примеры

В следующем примере кода перечисляются поставщики языков на компьютере и отображаются параметры конфигурации и компилятора для каждого поставщика языка. Этот пример входит в состав более крупного примера использования класса CompilerInfo.

array<CompilerInfo^>^allCompilerInfo = CodeDomProvider::GetAllCompilerInfo();
for ( int i = 0; i < allCompilerInfo->Length; i++ )
{
   String^ defaultLanguage;
   String^ defaultExtension;
   CompilerInfo^ info = allCompilerInfo[ i ];
   CodeDomProvider^ provider = nullptr;
   if ( info )
      provider = info->CreateProvider();

   if ( provider )
   {
      // Display information about this configured provider.
      Console::WriteLine( "Language provider:  {0}", provider->ToString() );
      Console::WriteLine();
      Console::WriteLine( "  Supported file extension(s):" );
      array<String^>^extensions = info->GetExtensions();
      for ( int i = 0; i < extensions->Length; i++ )
          Console::WriteLine( "    {0}", extensions[ i ] );

      defaultExtension = provider->FileExtension;
      if (  !defaultExtension->StartsWith( "." ) )
          defaultExtension = String::Concat( ".", defaultExtension );

      Console::WriteLine( "  Default file extension:  {0}\n", defaultExtension );
      Console::WriteLine( "  Supported language(s):" );
      array<String^>^languages = info->GetLanguages();
      for ( int i = 0; i < languages->Length; i++ )
          Console::WriteLine( "    {0}", languages[ i ] );

      defaultLanguage = CodeDomProvider::GetLanguageFromExtension( defaultExtension );
      Console::WriteLine(  "  Default language:        {0}", defaultLanguage );
      Console::WriteLine();
      
      // Get the compiler settings for this provider.
      CompilerParameters^ langCompilerConfig = info->CreateDefaultCompilerParameters();
      if ( langCompilerConfig )
      {
         Console::WriteLine( "  Compiler options:        {0}", langCompilerConfig->CompilerOptions );
         Console::WriteLine( "  Compiler warning level:  {0}", langCompilerConfig->WarningLevel.ToString() );
      }
   }

}
CompilerInfo [] allCompilerInfo = CodeDomProvider.GetAllCompilerInfo();
foreach (CompilerInfo info in allCompilerInfo)
{
    String defaultLanguage;
    String defaultExtension;

    CodeDomProvider provider = info.CreateProvider();

    // Display information about this configured provider.

    Console.WriteLine("Language provider:  {0}",
        provider.ToString());
    Console.WriteLine();

    Console.WriteLine("  Supported file extension(s):");
    foreach(String extension in info.GetExtensions())
    {
        Console.WriteLine("    {0}", extension);
    }

    defaultExtension = provider.FileExtension;
    if (defaultExtension[0] != '.')
    {
        defaultExtension = "." + defaultExtension;
    }
    Console.WriteLine("  Default file extension:  {0}",
        defaultExtension);
    Console.WriteLine();

    Console.WriteLine("  Supported language(s):");
    foreach(String language in info.GetLanguages())
    {
        Console.WriteLine("    {0}", language);
    }

    defaultLanguage = CodeDomProvider.GetLanguageFromExtension(defaultExtension);
    Console.WriteLine("  Default language:        {0}",
        defaultLanguage);
    Console.WriteLine();

    // Get the compiler settings for this provider.
    CompilerParameters langCompilerConfig = info.CreateDefaultCompilerParameters();

    Console.WriteLine("  Compiler options:        {0}",
        langCompilerConfig.CompilerOptions);
    Console.WriteLine("  Compiler warning level:  {0}",
        langCompilerConfig.WarningLevel);
    Console.WriteLine();
}
        Dim allCompilerInfo As CompilerInfo() = CodeDomProvider.GetAllCompilerInfo()
        Dim info As CompilerInfo
        For Each info In  allCompilerInfo

           Dim defaultLanguage As String
           Dim defaultExtension As String

           Dim provider As CodeDomProvider = info.CreateProvider()
           
           ' Display information about this configured provider.
           Console.WriteLine("Language provider:  {0}", _
               provider.ToString())
           Console.WriteLine()
           
           Console.WriteLine("  Supported file extension(s):")
           Dim extension As String
           For Each extension In info.GetExtensions()
              Console.WriteLine("    {0}", extension)
           Next extension
           
           defaultExtension = provider.FileExtension
           If Not defaultExtension.StartsWith(".") Then
              defaultExtension = "." + defaultExtension
           End If

           Console.WriteLine("  Default file extension:  {0}", _
             defaultExtension)
           Console.WriteLine()
           
           Console.WriteLine("  Supported language(s):")
           Dim language As String
           For Each language In  info.GetLanguages()
              Console.WriteLine("    {0}", language)
           Next language
           defaultLanguage = CodeDomProvider.GetLanguageFromExtension(defaultExtension)
           Console.WriteLine("  Default language:        {0}", _
              defaultLanguage)
           Console.WriteLine()
           
           ' Get the compiler settings for this provider.
           Dim langCompilerConfig As CompilerParameters = info.CreateDefaultCompilerParameters()
           
           Console.WriteLine("  Compiler options:        {0}", _
               langCompilerConfig.CompilerOptions)
           Console.WriteLine("  Compiler warning level:  {0}", _
               langCompilerConfig.WarningLevel)
           Console.WriteLine()
        Next info

Комментарии

Метод CreateProvider возвращает CodeDomProvider экземпляр для текущих параметров поставщика языка.

Используйте метод , CreateProvider чтобы получить реализацию CodeDomProvider для экземпляра, возвращаемого CompilerInfo методом CodeDomProvider.GetAllCompilerInfo или CodeDomProvider.GetCompilerInfo .

См. также раздел

Применяется к

CreateProvider(IDictionary<String,String>)

Исходный код:
CompilerInfo.cs
Исходный код:
CompilerInfo.cs
Исходный код:
CompilerInfo.cs

Возвращает экземпляр CodeDomProvider для параметров поставщика текущего языка и заданных параметров.

public:
 System::CodeDom::Compiler::CodeDomProvider ^ CreateProvider(System::Collections::Generic::IDictionary<System::String ^, System::String ^> ^ providerOptions);
public System.CodeDom.Compiler.CodeDomProvider CreateProvider (System.Collections.Generic.IDictionary<string,string> providerOptions);
member this.CreateProvider : System.Collections.Generic.IDictionary<string, string> -> System.CodeDom.Compiler.CodeDomProvider
Public Function CreateProvider (providerOptions As IDictionary(Of String, String)) As CodeDomProvider

Параметры

providerOptions
IDictionary<String,String>

Коллекция параметров поставщика из файла конфигурации.

Возвращаемое значение

Поставщик CodeDOM, связанный с конфигурацией поставщика языка и заданными параметрами.

Исключения

providerOptions имеет значение null.

Поставщик не поддерживает параметры.

Комментарии

Метод CreateProvider(IDictionary<String,String>) возвращает CodeDomProvider экземпляр для текущих параметров поставщика языка и указанных параметров поставщика. Сведения о поддерживаемых параметрах поставщика см. в документации по поставщику CodeDOM.

Используйте метод , CreateProvider(IDictionary<String,String>) чтобы получить реализацию CodeDomProvider для экземпляра, возвращаемого CompilerInfo методом CodeDomProvider.GetAllCompilerInfo или CodeDomProvider.GetCompilerInfo .

Применяется к