IVsDataProviderObjectFactory 인터페이스
DDEX 공급자 구현을 지원 엔터티를 만들 수가 있습니다.
네임스페이스: Microsoft.VisualStudio.Data.Core
어셈블리: Microsoft.VisualStudio.Data.Core(Microsoft.VisualStudio.Data.Core.dll)
구문
‘선언
Public Interface IVsDataProviderObjectFactory
public interface IVsDataProviderObjectFactory
public interface class IVsDataProviderObjectFactory
type IVsDataProviderObjectFactory = interface end
public interface IVsDataProviderObjectFactory
IVsDataProviderObjectFactory 형식에서는 다음과 같은 멤버를 노출합니다.
메서드
이름 | 설명 | |
---|---|---|
CreateObject | DDEX 공급자에 의해 구현 된 지정한 DDEX 지원 엔터티 인스턴스를 만듭니다. | |
GetAssembly | 어셈블리 공급자별 문자열은 해당 해결 Assembly 표현 합니다. | |
GetType | 해당 공급자별 형식 이름이 해결 Type 표현 합니다. |
위쪽
설명
DDEX 공급자는 잘 알려진 특정 작업에 대 한 공급자별 동작을 호출 하 여 클라이언트 사용할 수 DDEX 지원 엔터티의 특정 구현 구성 됩니다. 가장 기본적인 수준에서 다른 유형의 엔티티 등 XML 내용 다음 발생할 수 있습니다 인터페이스 DDEX 지원 엔터티 표시 됩니다. 이 인터페이스는 모든 전역 DDEX 지원 엔터티에 대 한 팩터리를 나타냅니다 및 DDEX 모든 공급자에 의해 구현 되어야 합니다. 또한이 정보를 확인 해야 하는 문자열로 지정 지원 엔터티를 작업할 때 사용할 수 있는 어셈블리 확인 하 고 사용자 지정 형식을 나타냅니다.
DDEX 공급자는이 인터페이스는 암시적 또는 명시적으로 구현할 수 있습니다. 암시적 구현을 DDEX 공급자 기반 레지스트리는 인터페이스의 기본 구현을 지원 엔터티를 만드는 방법을 설명 하는 다양 한 레지스트리 키를 읽을 때 발생 합니다. 명시적으로 구현 DDEX 공급자 패키지 기반 서비스로 Visual Studio 패키지의 공급자 구현에서이 인터페이스의 인스턴스 proffered 되어 때 발생 합니다. 전자는 민첩 한 가장입니다. 후자는 가장 융통성이 있습니다. 전자 후자는 필요 하지 않은 경우 기본 설정된 방법입니다.
예제
다음 코드는 패키지 기반 DDEX 공급자가이 인터페이스를 지 원하는 일부 표준 지원 엔터티 구현 하는 방법을 보여 줍니다. DDEX 프레임 워크 어셈블리에 정의 된 인터페이스의 기본 구현을 사용 합니다.
using System;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Framework;
using Microsoft.VisualStudio.Data.Services;
using Microsoft.VisualStudio.Data.Services.SupportEntities;
internal class MyProviderObjectFactory : DataProviderObjectFactory
{
public override object CreateObject(Type objType)
{
if (objType == null)
{
throw new ArgumentNullException("objType");
}
if (objType == typeof(IVsDataConnectionProperties))
{
return new MyConnectionProperties();
}
if (objType == typeof(IVsDataConnectionSupport))
{
return new MyConnectionSupport();
}
return null;
}
}
internal class MyConnectionProperties : DataConnectionProperties
{
}
internal class MyConnectionSupport : IVsDataConnectionSupport
{
// Implement the interface methods
public void Initialize(object providerObj) {}
public bool Open(bool doPromptCheck) {return true;}
public void Close() {}
public string ConnectionString { get {return "";} set {} }
public int ConnectionTimeout { get {return 0;} set {} }
public DataConnectionState State { get {return DataConnectionState.Closed;} }
public object ProviderObject { get {return null;} }
// Inherited from System.IServiceProvider
public Object GetService(Type serviceType) {return null;}
// Inherited from System.IDisposable
public void Dispose() {}
}