이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문
Visual Studio 2017을 사용하는 것이 좋습니다.

IVsDataSource.GetProperty 메서드 (Guid, String)

DDEX 데이터 소스의 특정 지원 DDEX 공급자가 등록 된 속성을 가져옵니다.

네임스페이스:  Microsoft.VisualStudio.Data.Core
어셈블리:  Microsoft.VisualStudio.Data.Core(Microsoft.VisualStudio.Data.Core.dll)

Object GetProperty(
	Guid provider,
	string name
)

매개 변수

provider
형식: Guid

DDEX 지원 공급자의 식별자입니다.

name
형식: String

검색할 속성의 이름입니다.

반환 값

형식: Object
값 속성의 경우 존재 합니다. 그렇지 않으면 null.

예외조건
ArgumentNullException

name 매개 변수가 null인 경우

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;
    }
}

표시: