IVsDataSource.GetProperty 메서드 (Guid, String)
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
형식: GuidDDEX 지원 공급자의 식별자입니다.
name
형식: String검색할 속성의 이름입니다.
반환 값
형식: 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 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용를 참조하세요.