CodeDomProvider.GetCompilerInfo(String) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 언어에 대한 언어 공급자 및 컴파일러 구성 설정을 반환합니다.
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 컴퓨터에 구성된 공급자가 없습니다.
language은 null입니다.
호출자에게 필요한 권한이 없습니다.
예제
다음 코드 예제에서는 입력 언어에 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 에 대해 둘 이상의 공급자 구현이 구성된 경우 마지막으로 일치하는 공급자 구성 요소의 설정을 반환합니다.
언어 이름은 대/소문자를 구분하지 않습니다.