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 형식에서는 다음과 같은 멤버를 노출합니다.
생성자
이름 | 설명 | |
---|---|---|
Store(array<Type[]) | Store 클래스의 새 인스턴스를 초기화합니다. | |
Store(IServiceProvider, array<Type[]) | Store 클래스의 새 인스턴스를 초기화합니다. | |
Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) | IServiceProvider 주어진된 serviceProvider 구현을 위임 저장소 클래스의 인스턴스를 만듭니다. |
위쪽
속성
이름 | 설명 | |
---|---|---|
ChangeSource | 현재 원본을 변경 작업에 대 한 저장소를 가져옵니다. | |
CurrentContext | 저장소의 현재 컨텍스트를 가져옵니다. | |
DefaultPartition | 저장소 사용 하는 기본 파티션을 가져오거나 설정 합니다. | |
DemandLoading | 저장소에 현재 필요 시 관계 로드 인지 여부를 가져옵니다. | |
Disposed | 저장소에서 삭제 되었는지 여부를 가져옵니다. | |
DomainDataDirectory | 도메인 정보 디렉터리를 저장소를 가져옵니다. | |
DomainModels | 이 저장소에 도메인 모델의 컬렉션을 가져옵니다. | |
ElementDirectory | 디렉터리를 저장소 내에 포함 된 요소를 가져옵니다. | |
ElementFactory | 요소 공장을 대 한 모델을 가져옵니다. | |
EventManagerDirectory | 이벤트 관리자 디렉터리를 대 한 모델을 가져옵니다. | |
Id | 저장소의 ID를 가져옵니다. | |
InRedo | 저장소를 가져오고 현재 컨텍스트 저장소 다시 실행 되 고 있는지 여부를 확인 합니다. | |
InSerializationTransaction | 저장소에서 트랜잭션 스택에 현재 활성 serialization 트랜잭션 있음을 나타냅니다. | |
InUndo | 저장소를 가져오고 저장소의 현재 컨텍스트를 취소 하 고 있는지 여부를 확인 합니다. | |
InUndoRedoOrRollback | 저장소를 가져와서 다시 저장소의 현재 컨텍스트를 실행을 취소 하거나 다시 겹쳐서 표시 실행 되 고 있는지 여부를 확인 합니다. | |
Partitions | 컬렉션의 파티션 개체를 대 한 저장소를 가져옵니다. | |
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 | 이 저장소 인스턴스에 대 한 잠금 플래그를 가져올 (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