다음을 통해 공유


CodeModel.Language 속성

코드를 작성하는 데 사용되는 프로그래밍 언어를 가져옵니다.

네임스페이스:  EnvDTE
어셈블리:  EnvDTE(EnvDTE.dll)

구문

‘선언
ReadOnly Property Language As String
string Language { get; }
property String^ Language {
    String^ get ();
}
abstract Language : string
function get Language () : String

속성 값

형식: System.String
CodeModelLanguageConstants 상수입니다.

설명

[!참고]

클래스, 구조체, 함수, 특성, 대리자 등의 코드 모델 요소를 특정한 방식으로 편집한 후에는 요소의 값이 명확하지 않을 수 있습니다. 즉, 요소의 값이 항상 같다고 할 수 없습니다.자세한 내용은 코드 모델을 사용하여 코드 검색(Visual Basic)의 "코드 모델 요소 값이 변경될 수 있음" 단원을 참조하십시오.

예제

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 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

CodeModel 인터페이스

EnvDTE 네임스페이스

기타 리소스

방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행

코드 모델을 사용하여 코드 검색(Visual Basic)

코드 모델을 사용하여 코드 검색(Visual C#)