CodeDomProvider.IsDefinedLanguage(String) Method

Definition

Tests whether a language has a CodeDomProvider implementation configured on the computer.

C#
public static bool IsDefinedLanguage(string language);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public static bool IsDefinedLanguage(string language);

Parameters

language
String

The language name.

Returns

true if a CodeDomProvider implementation is configured for the specified language; otherwise, false.

Attributes

Exceptions

The language is null.

The caller does not have the required permission.

Examples

The following code example determines the CodeDomProvider implementation for an input language and displays the configured settings for the language provider. This code example is part of a larger example provided for the CompilerInfo class.

C#
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);
}

Remarks

The <system.codedom> Element in the machine configuration file (Machine.config) contains the language provider and compiler configuration settings for each CodeDomProvider implementation on the computer. The IsDefinedLanguage method searches the provider configuration elements for the specified language name.

Language names are case-insensitive.

Applies to

Product Versions
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

See also