CodeModel2.Language Property

Gets the programming language used to author the code.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
ReadOnly Property Language As String
string Language { get; }
property String^ Language {
    String^ get ();
}
abstract Language : string with get
function get Language () : String

Property Value

Type: String
A CodeModelLanguageConstants constant.

Examples

Sub LanguageExample(ByVal dte As DTE2)

    ' Before running this example, open a solution that contains 
    ' one or more projects.
    Dim langs As String
    Dim proj As Project
    For Each proj In dte.Solution
        Try
            Dim cm As CodeModel = proj.CodeModel
            langs &= proj.Name & "'s language is "

            Select Case cm.Language
                Case CodeModelLanguageConstants.vsCMLanguageMC, _
                    CodeModelLanguageConstants.vsCMLanguageVC
                    langs &= "C++" & vbCrLf
                Case CodeModelLanguageConstants.vsCMLanguageCSharp
                    langs &= "C#" & vbCrLf
                Case CodeModelLanguageConstants.vsCMLanguageVB
                    langs &= "Visual Basic" & vbCrLf
                Case "{E6FDF8BF-F3D1-11D4-8576-0002A516ECE8}"
                    langs &= "J#" & vbCrLf
            End Select
        Catch
        End Try
    Next

    MsgBox(langs)

End Sub
public void LanguageExample(DTE2 dte)
{
    // Before running this example, open a solution that contains one 
    // or more projects.
    string langs = "";
    foreach (Project proj in dte.Solution)
    {
        try
        {
            CodeModel cm = proj.CodeModel;
            langs += proj.Name + "'s language is ";

            switch (cm.Language)
            {
                case CodeModelLanguageConstants.vsCMLanguageMC:
                case CodeModelLanguageConstants.vsCMLanguageVC:
                    langs += "C++" + Environment.NewLine;
                    break;
                case CodeModelLanguageConstants.vsCMLanguageCSharp:
                    langs += "C#" + Environment.NewLine;
                    break;
                case CodeModelLanguageConstants.vsCMLanguageVB:
                    langs += "Visual Basic" + Environment.NewLine;
                    break;
                case "{E6FDF8BF-F3D1-11D4-8576-0002A516ECE8}":
                    langs += "J#" + Environment.NewLine;
                    break;
            }
        }
        catch
        {
        }
    }

    MessageBox.Show(langs);
}

.NET Framework Security

See Also

Reference

CodeModel2 Interface

EnvDTE80 Namespace

Other Resources

How to: Compile and Run the Automation Object Model Code Examples

Discovering Code by Using the Code Model (Visual Basic)

Discovering Code by Using the Code Model (Visual C#)