다음을 통해 공유


Store 클래스

저장소에는 하나 이상의 모델의 요소 및 링크의 내부 프레젠테이션이 들어 있습니다.

상속 계층 구조

System.Object
  Microsoft.VisualStudio.Modeling.Store

네임스페이스:  Microsoft.VisualStudio.Modeling
어셈블리:  Microsoft.VisualStudio.Modeling.Sdk.12.0(Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

구문

‘선언
Public Class Store _
    Implements IServiceProvider, IDisposable
public class Store : IServiceProvider, IDisposable

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

생성자

  이름 설명
Public 메서드 Store(array<Type[]) Store 클래스의 새 인스턴스를 초기화합니다.
Public 메서드 Store(IServiceProvider, array<Type[]) Store 클래스의 새 인스턴스를 초기화합니다.
Public 메서드 Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) 지정된 serviceProvider에 대한 IServiceProvider 구현을 대리하는 Store 클래스의 인스턴스를 만듭니다.

위쪽

속성

  이름 설명
Public 속성 ChangeSource 저장소의 작업을 위한 현재 변경 원본을 가져옵니다.
Public 속성 CurrentContext 저장소의 현재 컨텍스트를 가져옵니다.
Public 속성 DefaultPartition 저장소의 기본 파티션을 가져오거나 설정합니다.
Public 속성 DemandLoading 저장소가 현재 관계 로드를 요구하고 있는지 여부를 가져옵니다.
Public 속성 Disposed 저장소가 삭제되었는지 여부를 가져옵니다.
Public 속성 DomainDataDirectory 저장소의 도메인 정보 디렉터리를 가져옵니다.
Public 속성 DomainModels 이 저장소의 도메인 모델의 컬렉션을 가져옵니다.
Public 속성 ElementDirectory 저장소에 포함된 요소의 디렉터리를 가져옵니다.
Public 속성 ElementFactory 모델에 대한 요소 팩터리를 가져옵니다.
Public 속성 EventManagerDirectory 모델의 이벤트 관리자 디렉터리를 가져옵니다.
Public 속성 Id 저장소의 ID를 가져옵니다.
Public 속성 InRedo 저장소를 가져오고 저장소의 현재 컨텍스트가 다시 실행되고 있는지를 확인합니다.
Public 속성 InSerializationTransaction 저장소가 트랜잭션 스택에서 현재 활성인 serialization 트랜잭션을 가지고 있음을 나타냅니다.
Public 속성 InUndo 저장소를 가져오고 저장소의 현재 컨텍스트가 실행 취소되고 있는지를 확인합니다.
Public 속성 InUndoRedoOrRollback 저장소를 가져오고 저장소의 현재 컨텍스트가 다시 실행, 실행 취소 또는 롤백되고 있는지를 확인합니다.
Public 속성 Partitions 저장소에 대한 Partition 개체의 컬렉션을 가져옵니다.
Public 속성 PartitionsAlternate 저장소에 사용된 파티션을 가져옵니다.
Public 속성 PropertyBag 저장소의 속성 모음을 가져옵니다.
Public 속성 RuleManager 저장소의 규칙 관리자를 가져옵니다.
Public 속성 SerializerDirectory 이 저장소에 대한 기본 serialization 디렉터리
Public 속성 ShuttingDown 저장소를 가져오고 저장소가 종료되고 있는지 여부를 확인하거나 저장소 상태를 종료로 설정합니다.
Public 속성 TransactionActive 저장소에 현재 활성인 트랜잭션이 있는지 여부를 가져오거나 설정합니다.
Public 속성 TransactionLogs 저장소에 대한 트랜잭션 로그의 현재 목록을 가져옵니다.
Public 속성 TransactionManager 모델의 트랜잭션 관리자를 가져옵니다.
Public 속성 UndoManager 기본 컨텍스트의 UndoManager를 가져옵니다.
Public 속성 Version 저장소의 버전을 가져옵니다.

위쪽

메서드

  이름 설명
Public 메서드 AddMonikerResolver 지정된 도메인 모델에 대해 IMonikerResolver를 등록합니다.
Public 메서드 DefaultPartitionForClass 지정된 클래스의 새 요소를 기본적으로 만들어야 하는 파티션을 반환합니다.
Public 메서드 Dispose 저장소를 삭제합니다.
Public 메서드 Equals 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드 FindDomainModel ID로 도메인 모델을 찾습니다.
Public 메서드 FindMonikerResolver 지정된 도메인 모델에 등록된 IMonikerResolver를 찾습니다.
Public 메서드 GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) 루트 요소의 목록이 지정된 경우 주어진 클로저 형식의 기본 파티션에서 요소 그룹 프로토타입을 만듭니다.
Public 메서드 GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) 주어진 루트 요소의 목록이 요청 시 로드의 무시를 허용하는 경우 지정된 클로저 형식의 기본 파티션에서 요소 그룹 프로토타입을 만듭니다.
Public 메서드 GetDomainModel(Guid) 해당 ID별로 도메인 모델의 인스턴스를 가져옵니다.
Public 메서드 GetDomainModel<T>() 지정된 도메인 모델 형식의 인스턴스를 가져옵니다.
Public 메서드 GetHashCode 기본 해시 함수로 작동합니다. (Object에서 상속됨)
Public 메서드 GetService 서비스를 가져옵니다.
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드 LoadDomainModels 지정된 도메인 모델 목록에 대한 모든 도메인 데이터를 만듭니다.
Protected 메서드 MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드 PopContext 스택의 맨 위에서 현재 컨텍스트를 제거합니다.
Public 메서드 PushContext 저장소 컨텍스트 스택의 맨 위로 새 컨텍스트를 푸시합니다.
Public 메서드 RegisterTransactionLog 클라이언트가 이 저장소에서 이벤트 알림을 받을 트랜잭션 로그를 등록하도록 허용합니다.
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
Public 메서드 UnregisterTransactionLog 클라이언트가 이 저장소에서 이벤트 알림을 받을 트랜잭션 로그를 등록 취소하도록 허용합니다.

위쪽

이벤트

  이름 설명
Public 이벤트 StoreDisposing 저장소가 삭제하는 중이면 발생합니다.

위쪽

확장 메서드

  이름 설명
Public 확장 메서드 GetLocks 이 Store 인스턴스의 잠금 플래그를 가져옵니다. (ImmutabilityExtensionMethods에서 정의됨)
Public 확장 메서드 IsLocked 이 저장소에 지정된 잠금 집합이 있는지 여부를 테스트합니다. (ImmutabilityExtensionMethods에서 정의됨)
Public 확장 메서드 SetLocks 이 저장소 인스턴스의 잠금 플래그를 설정합니다. (ImmutabilityExtensionMethods에서 정의됨)

위쪽

설명

저장소는 하나 이상의 모델에 대 한 정보가 포함 되어 있습니다. 하지만 종종 하나의 모델 저장소에 저장소 모델의 컬렉션을 포함할 수 있습니다.

저장소가 포함 되어 메타 데이터 모델 및 요소와 해당 모델을 구성 하는 요소 간의 링크의 인스턴스에 대 한 정보입니다. 메타 데이터 모델과 관계에 있는 형식을 포함 합니다.

저장소 모델은 저장소에 로드 될 때 입력 된 여러 데이터 구조에 있습니다. 다음과 같은 경우에 발생합니다.

  • 도메인 관련 언어를 시작할 때 빌드를 실험적으로

  • 도메인별 언어와 최종 사용자가 배포 때 시작

  • 로드할 때 모델을 프로그래밍 방식으로 저장소에

DomainDataDirectory 수 모델의 형식에 대 한 메타 데이터를 포함 합니다.

ElementDirectory 각 요소 인스턴스와 해당 링크에 대 한 정보를 포함 합니다. (의 인스턴스는 ElementDirectory 에 정의 된 형식 이어야 합니다의 DomainDataDirectory.)

저장소에서이 저장소의 각 항목을 탐색할 수 있습니다. 요소 또는 형식에 대 한 정보를 얻을 수 있습니다. 또한 다음과 같은 작업을 수행할 수 있습니다.

  • 항목 추가

  • 항목 삭제

  • 기존 요소와 링크 및 해당 속성을 수정 합니다.

코드에서 저장소에 기록 하는 저장소를 수정할 때마다 묶어야 한 Transaction. 트랜잭션을 수행 하 여 구성 저장소에 변경 내용을 모두 취소할 수는 Rollback 트랜잭션 또는 작업을 수행 하지는 Commit 트랜잭션.

저장소는 RuleManager 규칙에 등록 하는 기능이 포함 된. 저장소는 이벤트에 가입할 수도 있습니다.

저장소에 있는 UndoManager 구성원 저장소에 대 한 변경 취소 및 재실행 할 수 있는. 일반적으로 모델의 새 인스턴스를 역직렬화 하 여 모델을 읽을 수 있지만 저장소의 새 인스턴스를 만들 필요가 없습니다. 자주 이용할 수의 저장소에는 Store 요소 또는 모델에 대 한 링크의 속성. 규칙이 나 이벤트에 관련 된 요소 또는 연결 인스턴스를 제공 하는 규칙 및 이벤트의 이벤트 인수 및 속성 저장소를 사용 하 여 저장소에 액세스 하 고 TransactionManager.

예제

다음 예제 저장소를 인스턴스화하고 다른 방법을 보여 줍니다. 아래 세 번째 예제에서와 같이 도메인 모델 간의 종속성이 때 도메인 모델의 종속성 순서에 따라 지정 되어야 합니다.

// Create a store with your domain models (classes in the generated 
// code derived from Microsoft.VisualStudio.Modeling.DomainModel).
Store store = new Store(typeof(ActivityDomainModel));

// Domain models can be loaded into the store after construction.
// Be sure to call store.Dispose() when you are done with it. 
Store store2 = new Store();
Store2.LoadDomainModels(typeof(ActivityDomainModel));

// Multiple domain models can be loaded into the store at once
Store store3 = new Store(typeof(BaseActivityDomainModel), typeof(ExtendedActivityDomainModel));

스레드로부터의 안전성

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

참고 항목

참조

Microsoft.VisualStudio.Modeling 네임스페이스

기타 리소스

[리디렉션] 생성된 API의 도메인 모델

How to: Create Elements in Code

How to: Create Elements in Code

How to: Create Links in Code

How to: Set or Get Domain Property Values

How to: Delete Elements and Links Programmatically

How to: Undo and Redo Changes Made to the Store