特定のサポート DDEX プロバイダーによって登録する必要が DDEX データ ソースのプロパティを取得します。
名前空間: Microsoft.VisualStudio.Data.Core
アセンブリ: Microsoft.VisualStudio.Data.Core (Microsoft.VisualStudio.Data.Core.dll 内)
構文
'宣言
Function GetProperty ( _
provider As Guid, _
name As String _
) As Object
Object GetProperty(
Guid provider,
string name
)
Object^ GetProperty(
Guid provider,
String^ name
)
abstract GetProperty :
provider:Guid *
name:string -> Object
function GetProperty(
provider : Guid,
name : String
) : Object
パラメーター
- provider
型 : System.Guid
サポート DDEX プロバイダー識別子。
- name
型 : System.String
取得するプロパティの名前。
戻り値
型 : System.Object
存在する場合、プロパティの値; それ以外 nullnull 参照 (Visual Basic では Nothing)。
例外
| 例外 | 条件 |
|---|---|
| ArgumentNullException | name パラメーターが nullnull 参照 (Visual Basic では Nothing) でした。 |
解説
DDEX のデータ ソースは、データ ソースに関する情報を確認するに DDEX のクライアントからアクセス一連のプロパティを登録できます。また、DDEX のデータ ソースをサポートする各 DDEX プロバイダーは DDEX のデータ ソースに関連付けられているプロバイダー固有のプロパティを登録できます。
provider のパラメーターを空の GUID である場合、このメソッドはを取得 DDEX のデータ ソースのルート レジストリ キー (データ ソースでは、Visual Studio のローカルなレジストリ ハイブに True) を開き、指定 nameがあるキーの下に値を要求することによってグローバル データ ソースのプロパティ値。プロバイダー パラメーターが有効なサポート DDEX プロバイダー識別子、このメソッドの取得をサポートするプロバイダーのサブキーをデータ ソースのルート レジストリ キーの下で、を開き、指定 nameのサブキーの下にこの値を要求することにより、プロバイダー固有のデータ ソースのプロパティ値になります。特定のプロパティが要求された後、値は DDEX のランタイムにメモリに Visual Studio を再起動するまで保存され、更新されません。
例
次のコードは 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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。