다음을 통해 공유


VSProject.DTE 속성

최상위 확장성 개체를 가져옵니다.

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

구문

‘선언
ReadOnly Property DTE As DTE
    Get
DTE DTE { get; }
property DTE^ DTE {
    DTE^ get ();
}
abstract DTE : DTE
function get DTE () : DTE

속성 값

형식: EnvDTE.DTE
DTE 개체를 반환합니다.

설명

Visual Studio에서 DTE 개체는 자동화 모델의 루트이며 다른 개체 모델에서는 이를 "Application"이라고도 합니다.

예제

[Visual Basic]

Sub DTEExample(ByVal dte As DTE2)

    Dim msg As String = _
        "The current Output Window object belongs to the "
    Dim output As OutputWindow = dte.ToolWindows.OutputWindow

    If IsMacrosIDE(output.DTE) Then
        MsgBox(msg & "macros IDE.")
    Else
        MsgBox(msg & "main IDE.")
    End If

    output = CType(dte.MacrosIDE, DTE2).ToolWindows.OutputWindow

    If IsMacrosIDE(output.DTE) Then
        MsgBox(msg & "macros IDE.")
    Else
        MsgBox(msg & "main IDE.")
    End If

End Sub

Function IsMacrosIDE(ByVal ide As DTE) As Boolean

    Dim val As Boolean = True

    Try
        ' The MacrosIDE property will throw an exception if ide 
        ' isn't the main DTE object
        If IsNothing(ide.MacrosIDE) = False Then
            val = False
        End If

    Catch ex As Exception
    End Try

    Return val

End Function

[C#]

public void DTEExample(DTE2 dte)
{
    string msg = "The current Output Window object belongs to the ";
    OutputWindow output = dte.ToolWindows.OutputWindow;

    if (IsMacrosIDE(output.DTE))
        MessageBox.Show(msg + "macros IDE.");
    else
        MessageBox.Show(msg + "main IDE.");

    output = ((DTE2)dte.MacrosIDE).ToolWindows.OutputWindow;

    if (IsMacrosIDE(output.DTE))
        MessageBox.Show(msg + "macros IDE.");
    else
        MessageBox.Show(msg + "main IDE.");
}

bool IsMacrosIDE(DTE ide)
{
    bool val = true;

    try
    {
        // The MacrosIDE property will throw an exception if ide 
        // isn't the main DTE object
        if (ide.MacrosIDE != null)
            val = false;
    }
    catch (Exception ex)
    {
    }

    return val;
}

.NET Framework 보안

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

참고 항목

참조

VSProject 인터페이스

VSLangProj 네임스페이스

기타 리소스

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