CodeDomProvider.GetLanguageFromExtension(String) 메서드

정의

CodeDomProvider 컴파일러 구성 섹션에 구성되어 있는 대로, 지정된 파일 이름 확장명과 연결된 언어 이름을 반환합니다.

public:
 static System::String ^ GetLanguageFromExtension(System::String ^ extension);
public static string GetLanguageFromExtension (string extension);
[System.Runtime.InteropServices.ComVisible(false)]
public static string GetLanguageFromExtension (string extension);
static member GetLanguageFromExtension : string -> string
[<System.Runtime.InteropServices.ComVisible(false)>]
static member GetLanguageFromExtension : string -> string
Public Shared Function GetLanguageFromExtension (extension As String) As String

매개 변수

extension
String

파일 이름 확장명입니다.

반환

CodeDomProvider 컴파일러 구성 설정에 구성되어 있는 대로, 파일 이름 확장명과 연결된 언어 이름입니다.

특성

예외

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

extensionnull인 경우

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

예제

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

if (  !fileExtension->StartsWith(  "." ) )
   fileExtension = String::Concat( ".", fileExtension );

// Get the language associated with the file extension.
CodeDomProvider^ provider = nullptr;
if ( CodeDomProvider::IsDefinedExtension( fileExtension ) )
{
   String^ language = CodeDomProvider::GetLanguageFromExtension( fileExtension );
   if ( language )
      Console::WriteLine( "The language \"{0}\" is associated with file extension \"{1}\"\n",
                           language, fileExtension );

   // Check for a corresponding language provider.
   if ( language && CodeDomProvider::IsDefinedLanguage( language ) )
   {
      provider = CodeDomProvider::CreateProvider( language );
      if ( provider )
      {
         // Display information about this language provider.
         Console::WriteLine( "Language provider:  {0}\n", provider->ToString() );
         
         // 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 language provider associated with input file extension \"{0}\".", fileExtension );
if (fileExtension[0] != '.')
{
    fileExtension = "." + fileExtension;
}

// Get the language associated with the file extension.
if (CodeDomProvider.IsDefinedExtension(fileExtension))
{
    CodeDomProvider provider;
    String language = CodeDomProvider.GetLanguageFromExtension(fileExtension);

    Console.WriteLine("The language \"{0}\" is associated with file extension \"{1}\"",
        language, fileExtension);
    Console.WriteLine();

    // Next, check for a corresponding language provider.

    if (CodeDomProvider.IsDefinedLanguage(language))
    {
        provider = CodeDomProvider.CreateProvider(language);

        // Display information about this language provider.

        Console.WriteLine("Language provider:  {0}",
            provider.ToString());
        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 language provider associated with input file extension \"{0}\".",
        fileExtension);
}
If Not fileExtension.StartsWith(".") Then
   fileExtension = "." + fileExtension
End If

' Get the language associated with the file extension.
If CodeDomProvider.IsDefinedExtension(fileExtension) Then
   Dim provider As CodeDomProvider
   Dim language As String = CodeDomProvider.GetLanguageFromExtension(fileExtension)
   
   Console.WriteLine("The language ""{0}"" is associated with file extension ""{1}""", _
       language, fileExtension)
   Console.WriteLine()
   
   ' Check for a corresponding language provider.
   If CodeDomProvider.IsDefinedLanguage(language) Then
      provider = CodeDomProvider.CreateProvider(language)
      
      ' Display information about this language provider.
      Console.WriteLine("Language provider:  {0}", _
         provider.ToString())
      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)
   End If
Else
   ' Tell the user that the language provider was not found.
   Console.WriteLine("There is no language provider associated with input file extension ""{0}"".", fileExtension)
End If

설명

컴퓨터 구성 파일(Machine.config)의 system.codedom> 요소에는 컴퓨터의 각 구현에 대한 언어 공급자 및 컴파일러 구성 설정이 포함됩니다.<CodeDomProvider 메서드는 GetLanguageFromExtension 각 공급자 구성 요소에서 지정된 파일 이름 확장명을 검색합니다.

메서드는 IsDefinedExtension 하나 이상의 공급자 구현이 특정 파일 이름 확장명을 지원하는지 여부를 확인합니다. 에 전달하기 전에 를 사용하여 IsDefinedExtension 파일 이름 확장명 유효성을 검사할 GetLanguageFromExtension수 있습니다. 이렇게 하면 GetLanguageFromExtension 지원되지 않는 파일 이름 확장명 에 대한 이 throw System.Configuration.ConfigurationException 되지 않습니다.

공급자 구현이 입력 파일 이름 확장명을 지원하고 해당 공급자에 대해 구성된 지원되는 언어가 여러 가지 있는 경우 해당 공급자 GetLanguageFromExtension 의 첫 번째 언어 이름을 반환합니다. 입력 파일 이름 확장 GetLanguageFromExtension 프로그램에 대해 둘 이상의 공급자 구현이 구성된 경우 는 마지막으로 일치하는 공급자 구성 요소의 언어 이름을 반환합니다.

언어 이름 및 파일 이름 확장명은 대/소문자를 구분하지 않습니다.

적용 대상

추가 정보