CodeDomProvider.GetCompilerInfo(String) 메서드

정의

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

public:
 static System::CodeDom::Compiler::CompilerInfo ^ GetCompilerInfo(System::String ^ language);
[System.Runtime.InteropServices.ComVisible(false)]
public static System.CodeDom.Compiler.CompilerInfo GetCompilerInfo(string language);
[<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;

// 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 인스턴스에는 구성된 언어 공급자 및 컴파일러 설정이 포함됩니다.

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

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

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

적용 대상

추가 정보