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
형식: 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.Provider 매개 변수는 올바른 지원 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 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.