다음을 통해 공유


CodeDomProvider.GetCompilerInfo(String) 메서드

정의

지정된 언어에 대한 언어 공급자 및 컴파일러 구성 설정을 반환합니다.

public:
 static System::CodeDom::Compiler::CompilerInfo ^ GetCompilerInfo(System::String ^ language);
public static System.CodeDom.Compiler.CompilerInfo GetCompilerInfo (string language);
[System.Runtime.InteropServices.ComVisible(false)]
public static System.CodeDom.Compiler.CompilerInfo GetCompilerInfo (string language);
static member GetCompilerInfo : string -> System.CodeDom.Compiler.CompilerInfo
[<System.Runtime.InteropServices.ComVisible(false)>]
static member GetCompilerInfo : string -> System.CodeDom.Compiler.CompilerInfo
Public Shared Function GetCompilerInfo (language As String) As CompilerInfo

매개 변수

language
String

언어 이름입니다.

반환

구성된 CompilerInfo 구현의 설정으로 채워진 CodeDomProvider 개체입니다.

특성

예외

language에 대한 공급자가 이 컴퓨터에 구성되어 있지 않은 경우

languagenull인 경우

호출자에게 필요한 권한이 없는 경우

예제

다음 코드 예제에서는 입력 언어에 CodeDomProvider 대 한 구현을 결정 하 고 언어 공급자에 대 한 구성 된 설정을 표시 합니다. 이 코드 예제는에 대해 제공 된 큰 예제의 일부는 CompilerInfo 클래스입니다.

CodeDomProvider^ provider = nullptr;

// Check for a provider corresponding to the input language.  
if ( CodeDomProvider::IsDefinedLanguage( language ) )
{
   provider = CodeDomProvider::CreateProvider( language );
   if ( provider )
   {
      // Display information about this language provider.
      Console::WriteLine( "Language provider:  {0}", provider->ToString() );
      Console::WriteLine();
      Console::WriteLine( "  Default file extension:  {0}", provider->FileExtension );
      Console::WriteLine();
      
      // Get the compiler settings for this language.
      CompilerInfo^ langCompilerInfo = CodeDomProvider::GetCompilerInfo( language );
      if ( langCompilerInfo )
      {
         CompilerParameters^ langCompilerConfig = langCompilerInfo->CreateDefaultCompilerParameters();
         if ( langCompilerConfig )
         {
            Console::WriteLine( "  Compiler options:        {0}", langCompilerConfig->CompilerOptions );
            Console::WriteLine( "  Compiler warning level:  {0}", langCompilerConfig->WarningLevel.ToString() );
         }
      }
   }
}

if ( provider == nullptr )  // Tell the user that the language provider was not found.
   Console::WriteLine(  "There is no provider configured for input language \"{0}\".", language );
CodeDomProvider provider;

// Check for a provider corresponding to the input language.
if (CodeDomProvider.IsDefinedLanguage(language))
{
    provider = CodeDomProvider.CreateProvider(language);

    // Display information about this language provider.

    Console.WriteLine("Language provider:  {0}",
        provider.ToString());
    Console.WriteLine();
    Console.WriteLine("  Default file extension:  {0}",
        provider.FileExtension);
    Console.WriteLine();

    // Get the compiler settings for this language.

    CompilerInfo langCompilerInfo = CodeDomProvider.GetCompilerInfo(language);
    CompilerParameters langCompilerConfig = langCompilerInfo.CreateDefaultCompilerParameters();

    Console.WriteLine("  Compiler options:        {0}",
        langCompilerConfig.CompilerOptions);
    Console.WriteLine("  Compiler warning level:  {0}",
        langCompilerConfig.WarningLevel);
}
else
{
    // Tell the user that the language provider was not found.
    Console.WriteLine("There is no provider configured for input language \"{0}\".",
        language);
}
Dim provider As CodeDomProvider

' Check for a provider corresponding to the input language.  
If CodeDomProvider.IsDefinedLanguage(language) Then
   provider = CodeDomProvider.CreateProvider(language)
   
   ' Display information about this language provider.
   Console.WriteLine("Language provider:  {0}", _
       provider.ToString())
   Console.WriteLine()
   Console.WriteLine("  Default file extension:  {0}", _
       provider.FileExtension)
   Console.WriteLine()
   
   ' Get the compiler settings for this language.
   Dim langCompilerInfo As CompilerInfo = CodeDomProvider.GetCompilerInfo(language)
   Dim langCompilerConfig As CompilerParameters = langCompilerInfo.CreateDefaultCompilerParameters()
   
   Console.WriteLine("  Compiler options:        {0}", _
       langCompilerConfig.CompilerOptions)
   Console.WriteLine("  Compiler warning level:  {0}", _
       langCompilerConfig.WarningLevel)
Else
   ' Tell the user that the language provider was not found.
   Console.WriteLine("There is no provider configured for input language ""{0}"".", _
       language)
End If

설명

컴퓨터 구성 파일의 system.codedom> 요소에는 컴퓨터의 각 구현에 대한 언어 공급자 및 컴파일러 구성 설정이 포함됩니다.<CodeDomProvider 컴퓨터 구성 파일에 대한 자세한 내용은 앱 구성의 컴퓨터 구성 파일 섹션을 참조하세요. 메서드는 GetCompilerInfo 지정된 언어 이름을 위해 각 공급자 구성 요소를 검색합니다. 반환된 CompilerInfo instance 구성된 언어 공급자 및 컴파일러 설정을 포함합니다.

메서드는 IsDefinedLanguage 하나 이상의 공급자 구현이 특정 언어를 지원하는지 여부를 확인합니다. 에 전달하기 전에 를 사용하여 IsDefinedLanguage 언어 이름의 유효성을 검사할 GetCompilerInfo수 있습니다. 이렇게 하면 지원되지 않는 언어 이름에 CompilerInfo 대한 instance 액세스할 때 가 throw System.Configuration.ConfigurationException 되지 않습니다.

입력 언어 이름 GetCompilerInfo 에 대해 둘 이상의 공급자 구현이 구성된 경우 는 마지막으로 일치하는 공급자 구성 요소의 설정을 반환합니다.

언어 이름은 대/소문자를 구분하지 않습니다.

적용 대상

추가 정보