CodeDomProvider.GetLanguageFromExtension(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
の構成済みの言語プロバイダーがありません。
extension
が null
です。
呼び出し元に、必要なアクセス許可がありません。
例
次のコード例では、入力ファイル名拡張子の 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 、少なくとも 1 つのプロバイダー実装が特定のファイル名拡張子をサポートしているかどうかを確認します。 に渡す前に、 を使用して IsDefinedExtension ファイル名拡張子を GetLanguageFromExtension検証できます。 これにより、 GetLanguageFromExtension サポートされていないファイル名拡張子の を System.Configuration.ConfigurationException スローできなくなります。
プロバイダーの実装で入力ファイル名拡張子がサポートされており、そのプロバイダーに対して複数のサポートされている言語が構成されている場合は、 GetLanguageFromExtension そのプロバイダーの最初の言語名を返します。 入力ファイル名拡張子に対して複数のプロバイダー実装が構成されている場合は、 GetLanguageFromExtension 最後に一致するプロバイダー構成要素から言語名を返します。
言語名とファイル名拡張子では、大文字と小文字は区別されません。
適用対象
こちらもご覧ください
.NET