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 のエディションによっては、通常 1 の場合、後者がプロバイダーの IVsDataProviderDynamicSupport 通常の実装によって制御される場合は (たとえば、Express Edition のあるユーザーが使用する) 制御されます。

多数の操作は、より大きなコンテキスト内に発生します。次の例では特定の接続コンテキストで発生する、接続の開いているコマンドです。GetUnsupportedReason の context のパラメーターが渡されます、操作をサポートする理由の決定の一部として使用される認識可能なオブジェクトを有効にします。

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 名前空間