ExtensionManager 클래스

확장 컨텍스트를 유지 관리하고 확장을 로드합니다. 확장은 데이터베이스 프로젝트에서 사용되는 DatabaseSchemaProvider 인스턴스를 포함합니다. 각 데이터베이스 프로젝트에서는 단일 ExtensionManager 인스턴스를 유지 관리합니다.

상속 계층 구조

System.Object
  Microsoft.Data.Schema.Extensibility.ExtensionManager

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

구문

‘선언
Public NotInheritable Class ExtensionManager
public sealed class ExtensionManager
public ref class ExtensionManager sealed
[<Sealed>]
type ExtensionManager =  class end
public final class ExtensionManager

ExtensionManager 형식에서는 다음과 같은 멤버를 노출합니다.

생성자

  이름 설명
Public 메서드 ExtensionManager DatabaseSchemaProvider 의 정규화된 형식 이름을 사용하여 ExtensionManager의 인스턴스를 초기화합니다.

위쪽

속성

  이름 설명
Public 속성정적 멤버 AllDatabaseSchemaProviderTypes 사용 가능한 모든 데이터베이스 스키마 공급자 형식 목록을 가져옵니다.
Public 속성 DatabaseSchemaProvider 연결된 데이터 소스 공급자 인스턴스를 가져옵니다.
Public 속성 Errors 이 관리자 만들기로 인해 형식 로드가 트리거된 경우 로드 작업에서 읽기 전용 오류 컬렉션을 가져옵니다.
Public 속성정적 멤버 UseVisualStudioInstalledExtensionPaths Visual Studio 확장 경로와 AddExtensionLoadPath()를 통해 지정된 모든 경로에서 extension.xml 파일 및 확장 어셈블리를 로드할지 여부를 가져오거나 설정합니다.

위쪽

메서드

  이름 설명
Public 메서드정적 멤버 AddExtensionLoadPath 확장 로드 경로의 목록에 경로를 추가합니다.
Public 메서드 Equals 지정한 Object가 현재 Object와 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드 GetExtension<TInterfaceType>(Type) 제공된 Type과 일치하는 ExtensionHandle<TInterfaceType>을 검색합니다.
Public 메서드 GetExtension<TInterfaceType>(ExtensionHandle) 현재 ExtensionManager에서 형식이 IExtension이고 ExtensionHandle 매개 변수 값으로 식별되는 개체로 구성된 확장을 찾습니다.
Public 메서드 GetExtension<TInterfaceType>(String, String) 제공된 어셈블리 이름 및 형식 이름을 사용하여 현재 ExtensionManager에 로드된 확장 중에서 확장을 찾습니다.
Public 메서드 GetExtensions<TInterfaceType> 성공적으로 로드된, 제공된 확장 인터페이스 형식에 대한 확장 형식의 목록을 반환합니다.
Public 메서드 GetHashCode 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드 GetSingleExtension<TInterfaceType> 단일 ExtensionHandle 개체를 반환합니다.
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드정적 멤버 InstantiateType<T>(Type) 형식을 인스턴스화한 다음 인터페이스로 캐스팅합니다.
Public 메서드정적 멤버 InstantiateType<T, TProxy>(Type) 형식을 인스턴스화한 다음 인터페이스로 캐스팅합니다.
Public 메서드 IsCompatibleWithCurrentProvider 데이터 서비스 공급자 이름 또는 키를 전달할 경우 이 ExtensionManager에 있는 현재 공급자와 호환되는지 여부를 나타내는 값을 반환합니다.
Public 메서드 IsExtension<TInterfaceType>(Type) 현재 인스턴스에 구성을 가지고 있지 않으면서, 제공된 형식과 일치하는 유효한 확장이 있는지 여부를 확인합니다.
Public 메서드 IsExtension<TInterfaceType>(ExtensionHandle) 제공된 확장 핸들이 유효하고 현재 ExtensionManager로 로드되는지 여부를 확인합니다.
Public 메서드정적 멤버 LoadType DLL에 정의된 위성 형식을 검색하고 로드합니다.이러한 DLL은 GAC(전역 어셈블리 캐시), VS BaseDir 또는 VSTSDB\Extensions 폴더에 있습니다.
Protected 메서드 MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
Public 메서드 TryGetSingleExtension<TInterfaceType> 제공된 제네릭 형식의 단일 확장을 가져오려고 시도합니다.

위쪽

설명

ExtensionManager 인스턴스는 DatabaseSchemaProvider의 지정된 형식에 연결됩니다. ExtensionManager는 DatabaseSchemaProvider의 인스턴스를 보유하며 이 데이터 서비스 공급자와 호환되는 것으로 지정된 모든 확장 형식을 로드합니다. nullNull 참조(Visual Basic의 경우 Nothing)이 형식으로 지정된 경우 NoneBindingClassification 값을 갖도록 지정된 이러한 확장명이 로드됩니다.

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.Data.Schema.Extensibility 네임스페이스

DatabaseSchemaProvider

BindingClassification

기타 리소스

Visual Studio의 데이터베이스 기능 확장