获取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本地注册表项的数据源项下)和请求值检索全局数据源属性值在具有指定的 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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。