IVsDataSource.DisplayName プロパティ

DDEX のデータ ソースの表示名を取得します。

名前空間:  Microsoft.VisualStudio.Data.Core
アセンブリ:  Microsoft.VisualStudio.Data.Core (Microsoft.VisualStudio.Data.Core.dll 内)

構文

'宣言
ReadOnly Property DisplayName As String
string DisplayName { get; }
property String^ DisplayName {
    String^ get ();
}
abstract DisplayName : string
function get DisplayName () : String

プロパティ値

型 : System.String
DDEX のデータ ソースの表示名。

解説

DDEX のデータ ソースの表示名はエンド ユーザーに DDEX のクライアントに表示できるローカライズされた文字列です。このの 1 例は DDEX のデータ ソースおよびプロバイダーがユーザーによって選択されたデータ接続の [データ ソースの選択] のダイアログ ボックスで実行されます。

このプロパティは文字列のリソース id を取得するには、既定のサポートのプロバイダーに渡す GetProperty のメソッドを呼び出して、表示名が決まり、(1 の場合)、パラメーター DisplayNameこれが失敗した場合、プロパティは同じプロパティの各クエリをサポートするプロバイダーを介してのみ null 以外の値が返されるまで反復処理を開始します。次に、リソース id に関連付けられたローカライズされた文字列を取得するために GetString のメソッドを呼び出します。リソースが見つからない場合、IVsDataSource.Name のプロパティの値が返されます。

このプロパティの値の例は「Microsoft SQL Server」である場合があります。

次のコードは DisplayName のプロパティの実装を示します。ローカライズされた文字列がプロバイダーをサポートすることによってのみ使用されるため、既定のプロバイダーに応じて、適切なサポート プロバイダーを決定し、プロバイダーが DisplayName のプロパティの値を提供する。これは実際のローカライズされた文字列に DDEX プロバイダー API を使用して、これを解決します。

using System;
using System.Data;
using System.Data.Common;
using Microsoft.VisualStudio.Data.Core;

public class DDEX_IVsDataSourceExample2
{
    public static string GetSourceDisplayName(
        IServiceProvider serviceProvider,
        IVsDataSource dataSource)
    {
        string displayName = null;
        string resourceId = null;
        Guid provider = dataSource.DefaultProvider;
        if (provider != Guid.Empty)
        {
            resourceId = dataSource.GetProperty(provider, "DisplayName") as string;
        }
        if (resourceId == null)
        {
            foreach (Guid providerId in dataSource.GetProviders())
            {
                resourceId = dataSource.GetProperty(
                    providerId, "DisplayName") as string;
                if (resourceId != null)
                {
                    provider = providerId;
                    break;
                }
            }
        }
        if (provider != Guid.Empty && resourceId != null)
        {
            IVsDataProviderManager providerManager = serviceProvider.GetService(
                typeof(IVsDataProviderManager)) as IVsDataProviderManager;
            IVsDataProvider dataProvider = providerManager.Providers[provider];
            displayName = dataProvider.GetString(resourceId);
        }
        return displayName;
    }
}

.NET Framework セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

IVsDataSource インターフェイス

Microsoft.VisualStudio.Data.Core 名前空間