다음을 통해 공유


Store 클래스

저장소는 메모리 내 표현 요소와 하나 이상의 모델에 대 한 링크를 포함합니다.

상속 계층 구조

System.Object
  Microsoft.VisualStudio.Modeling.Store

네임스페이스:  Microsoft.VisualStudio.Modeling
어셈블리:  Microsoft.VisualStudio.Modeling.Sdk.11.0(Microsoft.VisualStudio.Modeling.Sdk.11.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[]) IServiceProvider 주어진된 serviceProvider 구현을 위임 저장소 클래스의 인스턴스를 만듭니다.

위쪽

속성

  이름 설명
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 컬렉션의 파티션 개체를 대 한 저장소를 가져옵니다.
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 이 저장소 인스턴스에 대 한 잠금 플래그를 가져올 (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