이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문
Visual Studio 2017을 사용하는 것이 좋습니다.

IVsDataProvider.IsOperationSupported 메서드 (Guid, CommandID, Object)

특정 작업 자가 지정한 DDEX 데이터 원본에 대 한 현재 환경에서 지원 되는지 여부를 결정 합니다.

네임스페이스:  Microsoft.VisualStudio.Data.Core
어셈블리:  Microsoft.VisualStudio.Data.Core(Microsoft.VisualStudio.Data.Core.dll)

bool IsOperationSupported(
	Guid source,
	CommandID command,
	Object context
)

매개 변수

source
형식: Guid

DDEX 데이터 소스 식별자입니다.

command
형식: CommandID

작업을 식별 하는 명령입니다.

context
형식: Object

작업이 존재 하는 컨텍스트를 나타내는 개체입니다.

반환 값

형식: Boolean
true 작업 공급자; 현재 환경에서 지원 되는 경우 그렇지 않으면 false.

예외조건
ArgumentNullException

command 매개 변수가 null입니다.

[<ANY>]

DDEX 공급자 IsOperationSupported 구현에서 예외가 발생 했습니다.

DDEX 클라이언트가 특정 작업이 현재 환경에서 DDEX 공급자에서 지원 되는지 여부를 확인 하려면이 메서드를 사용 합니다. 환경 버전의 Visual Studio 실행 하 고 런타임 구성 요소를 컴퓨터에 설치 된 따라 다를 수 있습니다. 일반적으로 이전 Visual Studio 버전 (예를 들어, 일부 명령은 Express 버전에 대 한 제한)에 의해 제어 반면 후자는 일반적으로 제어 되는 공급자에 의해 IVsDataProviderDynamicSupport 있는 경우 구현 합니다.

많은 작업은 몇 가지 큰 컨텍스트 내에서 발생합니다. 이 간단한 예제에서는 특정 연결의 컨텍스트에서 발생 하는 연결에 대 한 열기 명령입니다. context 매개 변수 IsOperationSupported 에 전달 되 고 작업이 지원 되는지 여부를 결정 하는 부품으로 사용 되는 개체를 인식할 수 있습니다.

IsOperationSupported Visual Studio 버전 작업을 지원 하는지 여부를 확인 하 여 시작 합니다. Visual Studio 작업을 지원 하 고 공급자가 제공 하는 경우는 IVsDataProviderDynamicSupport 메서드 구현 작업이 지원 되는지 여부를 결정 하는 공급자를 쿼리 합니다.

기본적으로 Visual Studio 버전 모든 명령을 지원 하 집합을 특정 조건에서 명령 제외 note입니다. 즉, 사용자 지정 공급자 작업은 Visual Studio 버전에서 지원 하 고 따라서 공급자에 의해 제어 됩니다.

다음 코드에서는 공급자 특정 데이터 탐색기 노드 삭제를 지원 하는지 여부를 확인 하려면이 메서드를 호출 하는 방법을 보여 줍니다. 호출 하는 경우는 GetUnsupportedReason 해당 작업이 지원 되지 않는 이유를 설명 하는 적절 한 메시지를 확인 하는 방법.

C#

using System;
using System.Windows.Forms;
using System.ComponentModel.Design;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services;

public class DDEX_IVsDataProviderExample8
{
    public static bool AllowDelete(IVsDataProvider provider,
        IVsDataExplorerNode node)
    {
        if (!provider.IsOperationSupported(StandardCommands.Delete, node))
        {
            MessageBox.Show(provider.GetUnsupportedReason(
                StandardCommands.Delete, node));
            return false;
        }
        return true;
    }
}

표시: