共用方式為


IVsDataProvider.GetUnsupportedReason 方法 (Guid, CommandID, Object)

取得說明的當地語系化字串作業為何沒有為指定的 DDEX 資料來源支援。

命名空間:  Microsoft.VisualStudio.Data.Core
組件:  Microsoft.VisualStudio.Data.Core (在 Microsoft.VisualStudio.Data.Core.dll 中)

語法

'宣告
Function GetUnsupportedReason ( _
    source As Guid, _
    command As CommandID, _
    context As Object _
) As String
string GetUnsupportedReason(
    Guid source,
    CommandID command,
    Object context
)
String^ GetUnsupportedReason(
    Guid source, 
    CommandID^ command, 
    Object^ context
)
abstract GetUnsupportedReason : 
        source:Guid * 
        command:CommandID * 
        context:Object -> string
function GetUnsupportedReason(
    source : Guid, 
    command : CommandID, 
    context : Object
) : String

參數

  • source
    類型:Guid

    DDEX 資料來源識別項。

  • command
    類型:CommandID

    命令識別作業。

  • context
    類型:Object

    表示內容作業存在的物件。

傳回值

類型:String
說明的當地語系化字串的作業為何不支援,則為,如果作業實際上不支援;則為,否則為 nullnull 參考 (即 Visual Basic 中的 Nothing)。

例外狀況

例外狀況 條件
ArgumentNullException

command 參數為 nullnull 參考 (即 Visual Basic 中的 Nothing)。

[<ANY>]

DDEX 提供者的 GetUnsupportedReason 實作會擲回例外狀況。

備註

這個方法可讓 DDEX 用戶端提供其嘗試執行以特定原因說明作業原因的使用者在目前環境不支援。 環境可能不同, Visual Studio 版本執行,而且執行階段元件安裝在電腦上。 目前由 Visual Studio 版本 (通常是控制項 (例如,限制在 Express 版中的某些命令),反之,後者通常是由提供者的 IVsDataProviderDynamicSupport 實作的控制項,,如果有的話。

許多作業在某一個較大的內容之內。 這個簡單範例是連接的開啟命令,發生在特定連接。 GetUnsupportedReasoncontext 參數使可辨識的物件傳遞和做為判斷原因部分不支援作業。

這個方法會判斷 Visual Studio 版本是否啟動不支援作業的原因。 如果這個查詢會傳回 nullnull 參考 (即 Visual Basic 中的 Nothing) (Visual Studio 不支援作業的原因),而提供者所提供的 IVsDataProviderDynamicSupport 實作,它會查詢指定原因的提供者不支援作業。

範例

下列程式碼示範如何呼叫 IsOperationSupported 方法判斷提供者是否支援刪除特定資料視窗的節點。 否則,呼叫 GetUnsupportedReason 的程式碼判斷適當的訊息描述作業為何不支援。

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

public class DDEX_IVsDataProviderExample7
{
    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;
    }
}

.NET Framework 安全性

請參閱

參考

IVsDataProvider 介面

GetUnsupportedReason 多載

Microsoft.VisualStudio.Data.Core 命名空間