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 형식에서는 다음과 같은 멤버를 노출합니다.
생성자
이름 | 설명 | |
---|---|---|
![]() |
Store(array<Type[]) | Store 클래스의 새 인스턴스를 초기화합니다. |
![]() |
Store(IServiceProvider, array<Type[]) | Store 클래스의 새 인스턴스를 초기화합니다. |
![]() |
Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) | 지정된 serviceProvider에 대한 IServiceProvider 구현을 대리하는 Store 클래스의 인스턴스를 만듭니다. |
위쪽
속성
이름 | 설명 | |
---|---|---|
![]() |
ChangeSource | 저장소의 작업을 위한 현재 변경 원본을 가져옵니다. |
![]() |
CurrentContext | 저장소의 현재 컨텍스트를 가져옵니다. |
![]() |
DefaultPartition | 저장소의 기본 파티션을 가져오거나 설정합니다. |
![]() |
DemandLoading | 저장소가 현재 관계 로드를 요구하고 있는지 여부를 가져옵니다. |
![]() |
Disposed | 저장소가 삭제되었는지 여부를 가져옵니다. |
![]() |
DomainDataDirectory | 저장소의 도메인 정보 디렉터리를 가져옵니다. |
![]() |
DomainModels | 이 저장소의 도메인 모델의 컬렉션을 가져옵니다. |
![]() |
ElementDirectory | 저장소에 포함된 요소의 디렉터리를 가져옵니다. |
![]() |
ElementFactory | 모델에 대한 요소 팩터리를 가져옵니다. |
![]() |
EventManagerDirectory | 모델의 이벤트 관리자 디렉터리를 가져옵니다. |
![]() |
Id | 저장소의 ID를 가져옵니다. |
![]() |
InRedo | 저장소를 가져오고 저장소의 현재 컨텍스트가 다시 실행되고 있는지를 확인합니다. |
![]() |
InSerializationTransaction | 저장소가 트랜잭션 스택에서 현재 활성인 serialization 트랜잭션을 가지고 있음을 나타냅니다. |
![]() |
InUndo | 저장소를 가져오고 저장소의 현재 컨텍스트가 실행 취소되고 있는지를 확인합니다. |
![]() |
InUndoRedoOrRollback | 저장소를 가져오고 저장소의 현재 컨텍스트가 다시 실행, 실행 취소 또는 롤백되고 있는지를 확인합니다. |
![]() |
Partitions | 저장소에 대한 Partition 개체의 컬렉션을 가져옵니다. |
![]() |
PartitionsAlternate | 저장소에 사용된 파티션을 가져옵니다. |
![]() |
PropertyBag | 저장소의 속성 모음을 가져옵니다. |
![]() |
RuleManager | 저장소의 규칙 관리자를 가져옵니다. |
![]() |
SerializerDirectory | 이 저장소에 대한 기본 serialization 디렉터리 |
![]() |
ShuttingDown | 저장소를 가져오고 저장소가 종료되고 있는지 여부를 확인하거나 저장소 상태를 종료로 설정합니다. |
![]() |
TransactionActive | 저장소에 현재 활성인 트랜잭션이 있는지 여부를 가져오거나 설정합니다. |
![]() |
TransactionLogs | 저장소에 대한 트랜잭션 로그의 현재 목록을 가져옵니다. |
![]() |
TransactionManager | 모델의 트랜잭션 관리자를 가져옵니다. |
![]() |
UndoManager | 기본 컨텍스트의 UndoManager를 가져옵니다. |
![]() |
Version | 저장소의 버전을 가져옵니다. |
위쪽
메서드
이름 | 설명 | |
---|---|---|
![]() |
AddMonikerResolver | 지정된 도메인 모델에 대해 IMonikerResolver를 등록합니다. |
![]() |
DefaultPartitionForClass | 지정된 클래스의 새 요소를 기본적으로 만들어야 하는 파티션을 반환합니다. |
![]() |
Dispose | 저장소를 삭제합니다. |
![]() |
Equals | 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨) |
![]() |
Finalize | 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨) |
![]() |
FindDomainModel | ID로 도메인 모델을 찾습니다. |
![]() |
FindMonikerResolver | 지정된 도메인 모델에 등록된 IMonikerResolver를 찾습니다. |
![]() |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) | 루트 요소의 목록이 지정된 경우 주어진 클로저 형식의 기본 파티션에서 요소 그룹 프로토타입을 만듭니다. |
![]() |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) | 주어진 루트 요소의 목록이 요청 시 로드의 무시를 허용하는 경우 지정된 클로저 형식의 기본 파티션에서 요소 그룹 프로토타입을 만듭니다. |
![]() |
GetDomainModel(Guid) | 해당 ID별로 도메인 모델의 인스턴스를 가져옵니다. |
![]() |
GetDomainModel<T>() | 지정된 도메인 모델 형식의 인스턴스를 가져옵니다. |
![]() |
GetHashCode | 기본 해시 함수로 작동합니다. (Object에서 상속됨) |
![]() |
GetService | 서비스를 가져옵니다. |
![]() |
GetType | 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨) |
![]() |
LoadDomainModels | 지정된 도메인 모델 목록에 대한 모든 도메인 데이터를 만듭니다. |
![]() |
MemberwiseClone | 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨) |
![]() |
PopContext | 스택의 맨 위에서 현재 컨텍스트를 제거합니다. |
![]() |
PushContext | 저장소 컨텍스트 스택의 맨 위로 새 컨텍스트를 푸시합니다. |
![]() |
RegisterTransactionLog | 클라이언트가 이 저장소에서 이벤트 알림을 받을 트랜잭션 로그를 등록하도록 허용합니다. |
![]() |
ToString | 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨) |
![]() |
UnregisterTransactionLog | 클라이언트가 이 저장소에서 이벤트 알림을 받을 트랜잭션 로그를 등록 취소하도록 허용합니다. |
위쪽
이벤트
이름 | 설명 | |
---|---|---|
![]() |
StoreDisposing | 저장소가 삭제하는 중이면 발생합니다. |
위쪽
확장 메서드
이름 | 설명 | |
---|---|---|
![]() |
GetLocks | 이 Store 인스턴스의 잠금 플래그를 가져옵니다. (ImmutabilityExtensionMethods에서 정의됨) |
![]() |
IsLocked | 이 저장소에 지정된 잠금 집합이 있는지 여부를 테스트합니다. (ImmutabilityExtensionMethods에서 정의됨) |
![]() |
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 네임스페이스
기타 리소스
How to: Create Elements in Code
How to: Create Elements in Code
How to: Set or Get Domain Property Values