共用方式為


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
    型別:System.Guid
    DDEX 資料來源識別項。
  • context
    型別:System.Object
    表示內容作業存在的物件。

傳回值

型別:System.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 命名空間