Namespace Microsoft.VisualStudio.Modeling

O namespace de modelagem lida com adições, exclusões e modificações de elementos e links, quando um modelo é criado ou modificado.

As classes do namespace de modelagem permitem que seu código criar e modificar os elementos e links dentro de transações.O Store é a classe que representa o conteúdo de um modelo na memória (elementos e links).Sempre que fizer alterações programaticamente um modelo, essas alterações devem ser feitas dentro de um Transaction.

Você pode definir regras que são executadas quando certas coisas ocorrem, como, por exemplo, um elemento ou um link que está sendo adicionado, alterado ou excluído.

Você também pode inscrever-se para ser notificado quando ocorrer um evento como, por exemplo, uma transação que está sendo revertida.

A diferença entre regras e eventos é que as regras são acionadas dentro de uma transação enquanto os eventos são disparados depois que uma transação é confirmada.

Classes

  Classe Descrição
Classe pública AddRule Representa uma regra que é chamada quando um objeto é adicionado ao modelo.
Classe pública AmbiguousMonikerException A exceção que é lançada quando um elemento de modelo a ser adicionado ao armazenamento é o mesmo identificador de origem como outro elemento já está no armazenamento.
Classe pública AncestorVisitorFilter Use com um ElementWalker para visitar todos os relacionamentos de agregação.
Classe pública BreadthFirstRolePlayerFirstElementWalker Visita os elementos do modelo, a aplicação de uma ação para cada um deles.A ação pode atualizar ou acumular resultados dos elementos que são visitados.
Classe pública CalculatedPropertyValueHandler<TElement, TValue> Classe base para os manipuladores de propriedade de domínio calculado.
Classe pública ChainingElementVisitorFilter Representa um filtro de encadeamento, que adiciona filtros a uma lista.
Classe pública ChangeRule Representa uma regra que é chamada quando o valor de uma propriedade de um elemento é alterado.
Classe pública ClosureContextHelper Fornece métodos para adicionar e recuperar informações de contexto de fechamento e a partir de um contexto de walker determinado elemento.
Classe pública ClosureElementOperation Representa quando as operações do elemento.
Classe pública ClosureFindAndRelateElementOperation Representa uma operação de fechamento para marcar um encontrar ou criar a operação de elemento de destino.
Classe pública ClosureFindAndRelateOrDeleteCopiedElementOperation Representa uma operação de fechamento para localizar e relacionados a um elemento ou excluir o elemento copiado, se o destino não for encontrado.
Classe pública ClosureFindElementOperation Representa uma operação de fechamento que marca a uma operação de elemento de destino de localização.
Classe pública ClosureFindOrCreateAndRelateElementOperation Representa uma operação de fechamento que marca um encontrar ou cria a operação de elemento de destino.
Classe pública ClosureFindOrCreateElementOperation Representa uma operação de fechamento que marca um encontrar ou cria a operação de elemento de destino.
Classe pública Context Contém o mapeamento das transações de partições.
Classe pública CopyClosureFilter Classe base para o filtro de visitante de fechamento de cópia
Classe pública CopyOriginContext Fornece informações sobre a origem da ElementGroupPrototype.
Classe pública CoreCopyClosure Copiar filtro do visitante de fechamento
Classe pública CoreCopyClosureBase Classe base para o filtro de visitante de fechamento de cópia
Classe pública CoreDeleteClosure Remover o filtro do visitante de fechamento
Classe pública CoreDeleteClosureBase Classe base para Remover filtro do visitante de fechamento
Classe pública CoreDomainModel Representa o modelo de domínio que define os elementos básicos usados por todos os modelos de domínio.
Classe pública CoreDomainModelSerializationBehavior Uma implementação de DomainXmlSerializationBehavior para CoreDomainModelSerializationBehavior do comportamento definido.
Classe pública DefaultVisitorFilter Visitas a todas as relações agregadas.
Classe pública DeleteRule Representa uma regra que é chamada quando um objeto é excluído do modelo.Executa após a DeletingRule correspondente.
Classe pública DeletingRule Representa uma regra que é chamada quando um elemento está prestes a ser excluído no modelo.
Classe pública DependsOnDomainModelAttribute Estende a classe de atributo usado para especificar o modelo de domínio, o modelo de domínio atual.
Classe pública DepthFirstElementAndLinkWalker Visita os elementos do modelo, a aplicação de uma ação para cada um deles.Links podem ser incluídas.
Classe pública DepthFirstElementWalker Permite passagens transversais do modelo a partir de um determinado elemento ou grupo de elementos.Fornece notificação de begin e end atravessando um elemento e seus descendentes.
Classe pública DeserializationEndingEventArgs Fornece dados para o evento DeserializationEnding e notifica ouvintes que desserialização terminou.
Classe pública DomainClassInfo Representa uma classe de domínio.
Classe pública DomainClassXmlSerializer Representa a classe base para todos os serializadores do domínio gerado.
Classe pública DomainDataDirectory Armazena metadados sobre os modelos de domínio no armazenamento.
Classe pública DomainDataNotFoundException Essa exceção é lançada pela classe DomainDataDirectory quando um elemento de domínio que tem uma identidade específica não for encontrado no diretório.
Classe pública DomainModel Representa um modelo de domínio.Esta é a classe base do modelo de domínio de seu DSL.
Classe protegida DomainModel.DomainMemberInfo Armazena informações sobre uma propriedade de domínio em um modelo de domínio.
Classe protegida DomainModel.DomainRolePlayerInfo Armazena informações usadas pelo reflector de modelo de domínio para localizar uma função de domínio.
Classe pública DomainModelExtensionProvider Define o contrato MEF para um tipo que fornece um mapeamento entre uma extensão do modelo de domínio e ele estende o modelo de domínio
Classe pública DomainModelInfo Representa uma definição de modelo de domínio.
Classe pública DomainModelOwnerAttribute No código gerado a partir de um tipo de domínio, indica o modelo de domínio em que uma classe de domínio é definida.F905
Classe pública DomainModelSerializerAttribute Serializa de atributo personalizado usado para indicar que uma classe é um serializador de modelo de domínio e o tipo de domínio de modelo.
Classe pública DomainObjectIdAttribute Representa a identificação de um objeto de domínio.
Classe pública DomainObjectInfo Representa um elemento em um modelo de domínio.
Classe pública DomainPropertyAttribute Indica que o destino é uma propriedade de domínio de uma classe de domínio.
Classe pública DomainPropertyInfo Representa uma propriedade de uma classe de domínio.
Classe pública DomainPropertyValueHandler Representa a classe base para manipuladores de valor de propriedade de domínio.
Classe pública DomainPropertyValueHandler<TElement, TValue> Representa a classe base para manipuladores de propriedade do tipo de alta segurança de domínio.
Classe pública DomainPropertyXmlSerializer A classe base para todos os serializadores de propriedade de domínio personalizado
Classe pública DomainRelationshipAttribute Indica que o destino é uma relação de domínio.
Classe pública DomainRelationshipInfo Representa os metadados sobre uma relação de domínio.
Classe pública DomainRelationshipXmlSerializer Representa a classe base para todos os serializadores do domínio gerado para relações de domínio.
Classe pública DomainRoleAttribute Indica que o destino é uma função de domínio de uma relação de domínio.
Classe pública DomainRoleInfo Representa um papel de uma relação de domínio.
Classe pública DomainXmlSerializationBehavior Representa todas as classes de gerado pelo comportamento do XML serialização.
Classe pública DomainXmlSerializerDirectory Combina os comportamentos de serialização de XML de modelos de domínio diferente juntos.
Classe pública DomainXmlSerializerDirectoryEntry Associa uma identificação de classe de domínio para seu tipo de DomainClassXmlSerializer.
Classe pública DomainXmlSerializerNamespaceEntry Uma tupla que vincula a um modelo de domínio para seu tipo de namepace de xml.
Classe pública DomainXmlTypeSerializerDirectoryEntry Uma tupla que mapeia um tipo para o tipo de serializador a ser usado.
Classe pública ElementAddedEventArgs Fornece dados para o evento ElementAdded.
Classe pública ElementAddedEventManager Gerencia o elemento adicionado eventos.
Classe pública ElementClosureWalker Representa um walker que constrói fechamentos sobre elementos do modelo.
Classe pública ElementDeletedEventArgs Fornece dados para o evento ElementDeleted.
Classe pública ElementDeletedEventManager Gerencia eventos de elemento removido.
Classe pública ElementDeletingEventArgs Fornece dados para o evento ElementDeleting.
Classe pública ElementDeserializedRule Uma regra que é acionado quando são criados novos ModelElements, usado por SimpleMonikerResolver para a monitorar novos elementos.
Classe pública ElementEventArgs Fornece dados para notificações associadas a um elemento de modelo.
Classe pública ElementEventManager Em classes derivadas, fornece um mecanismo para observadores para Registre-se e ser notificado das alterações a um elemento dentro do escopo do armazenamento.
Classe pública ElementEventsBegunEventArgs Fornece dados para o evento ElementEventsBegun.
Classe pública ElementEventsBegunEventManager Gerencia eventos começaram para elementos.
Classe pública ElementEventsEndedEventArgs Fornece dados para o evento ElementEventsEnded.
Classe pública ElementEventsEndedEventManager Gerencia eventos de eventos foi encerrados de elemento.
Classe pública ElementFactory Representa uma fábrica de objetos de modelo de domínio.
Classe pública ElementGroup Fornece uma maneira para coletar os elementos e links do elemento.
Classe pública ElementGroupContext Armazena informações de contexto sobre um grupo de elementos.
Classe pública ElementGroupPrototype Contém as informações necessárias para recriar um conjunto de elementos e links.Usado para armazenar os elementos em ferramentas, na área de transferência e, em uma operação de arrastar.
Classe pública ElementLink Classe base para todas as relações de domínio.
Classe pública ElementMovedEventArgs Fornece dados para o evento ElementMoved.
Classe pública ElementMovedEventManager Gerencia eventos de elemento movido.
Classe pública ElementNameAttribute Indica que a propriedade de domínio de destino fornece a propriedade name do elemento.
Classe pública ElementNameProvider Representa um provedor de nome para elementos de domínio.
Classe pública ElementOperations Fornece operações comuns que atuam em uma coleção de elementos de modelo.
Classe pública ElementPropertyChangedEventArgs Fornece dados para o evento ElementPropertyChanged.
Classe pública ElementPropertyChangedEventManager Gerencia eventos de propriedade alterada do elemento.
Classe pública ElementWalker Permite que várias passagens do modelo a partir de um determinado elemento.
Classe pública EmbeddingVisitorFilter Visitas a todas as relações de incorporação.
Classe pública EventManagerDirectory Permite que você adicionar ou remover códigos personalizados sejam executados quando um evento é gerado.
Classe pública ExistingElementEventManager Em uma classe derivada, gerencia eventos de elemento.
Classe pública ExtendsDomainModelAttribute Obsoleta. Indica o modelo de domínio que estende a este modelo de domínio.
Classe pública ExtensionElement Classe base para todas as extensões de elemento de modelo de domínio.Permite que uma definição de DSL para serem estendidos por terceiros.
Classe pública ExtensionElementSerializer ExtensionElementSerializer de serializador para DomainClass ExtensionElement.
Classe pública ExtensionExtendsElement Relação de referência de ExtensionExtendsElement DomainRelationship entre ElementExtension e ModelElement
Classe pública ExtensionExtendsElementSerializer ExtensionExtendsElementSerializer de serializador para DomainClass ExtensionExtendsElement.
Classe pública GenericEventArgs Classe base abstrata para todos os argumentos de evento para eventos de elemento.
Classe pública GlobalEventManager Quando substituído em uma classe derivada, permite que observadores para Registre-se e ser notificado das alterações em um armazenamento.
Classe pública InternalModelingErrorException Representa a exceção que é lançada quando ocorre um erro interno no mecanismo de modelagem.
Classe pública InvalidDomainModelException Representa uma exceção que é lançada quando um erro é encontrado com os metadados atribuídos a um modelo de domínio.
Classe pública ISerializerLocatorExtensions Fornece métodos de conveniência para estender a interface padrão do ISerializerLocator
Classe pública LinkedElementCollection<T> Fornece uma coleção de todos os elementos que estão vinculados a um elemento.
Classe pública MefMetadataConstants Define as constantes de seqüência de caracteres para os nomes das chaves de metadados MEF de modelo de domínio
Classe pública MergeAbortedException Representa uma exceção que é lançada quando uma operação de mesclagem em um modelo de domínio é anulada pelo usuário.
Classe pública MergeContext Fornece informações de mesclagem inicialmente definidas pela mesclagem de processo quando os objetos de um ElementGroupPrototype reconstituído, para o armazenamento de destino.
Classe pública MergeElementGroupEventArgs Fornece dados para o evento MergeElementGroup.
Classe pública ModelElement A classe base para todos os elementos de modelo de domínio.Todos os elementos e links em um DomainModel são membros desse tipo.
Classe pública ModelingEventArgs Fornece dados para eventos de modelagem.
Classe pública ModelingException Representa a classe base para diversas exceções geradas pelo mecanismo de modelagem.
Classe pública Moniker Contém uma expressão usada para mapear para o seu elemento.
Classe pública MonikerKey Representa a chave de um Moniker.
Classe pública MoveRule Representa uma regra que é chamada quando um objeto for movido no modelo.
Classe pública Partition Fornece um recipiente lógico para os elementos em um armazenamento.
Classe pública PartitionDictionary Representa uma coleção de partições.
Classe pública PropagateDeleteVisitorFilter Visita a todos os relacionamentos de PropagateRemove.
Classe pública PropertyAssignment Representa um par de atribuição de propriedade que consiste em identificação de propriedade e um valor de propriedade.
Classe pública ProtoElement Representa a classe de protótipo de um elemento.
Classe pública ProtoElementBase Representa o protótipo do elemento.
Classe pública ProtoGroup Contém as informações para recriar um ElementGroup no contexto de qualquer armazenamento.
Classe pública ProtoLink Contém as informações necessárias para recriar um ElementLink em qualquer armazenamento.
Classe pública ProtoPropertyValue Contém as informações necessárias para preencher um valor de atributo para um elemento de modelo em particular.
Classe pública ProtoRolePlayer Contém os dados necessários para definir os dados do player de função em um ElementLink.
Classe pública ProvidesExtensionToDomainModelAttribute Atributo personalizado usado para indicar que um modelo de domínio é uma extensão do modelo de outro domínio.
Classe pública ReadOnlyLinkedElementCollection<T> Representa uma coleção fortemente tipada somente leitura de instâncias do elemento no lado oposto de um relacionamento.
Classe pública RedoStackFlushedEventArgs Args de evento para o evento RedoStackFlushed.
Classe pública RoleAssignment Fornece informações para inicializar uma função que é atribuída a um elemento link.
Classe pública RolePlayerChangedEventArgs Fornece dados para o evento RolePlayerChanged.
Classe pública RolePlayerChangedEventManager Gerencia eventos que são alterados pela função.
Classe pública RolePlayerChangeRule Representa uma regra que é chamada quando um player de função nas alterações de modelo.
Classe pública RolePlayerOrderChangedEventArgs Fornece dados para o evento RolePlayerOrderChanged.
Classe pública RolePlayerOrderChangedEventManager Gerencia eventos que são alterados quando a ordem dos elementos de modelo que são atribuídos a alteração de funções.
Classe pública RolePlayerPositionChangeRule Representa uma regra que é chamada quando um elemento de modelo que é atribuído a uma função específica altera a posição em um relacionamento vários.
Classe pública RootElementSettings Semelhante ao System.Xml.XmlWriterSettings, essa classe armazena as configurações que precisam ser passados para um serializador quando serializar um elemento raiz.Elemento raiz tem informações adicionais, como o namespace de destino do esquema, versões, etc, para que obter informações adicionais podem ser necessários.
Classe pública Rule Classe abstrata da qual diferentes tipos de armazenam a regra pode ser derivado.
Classe pública RuleManager Controla se as regras habilitadas ou desabilitadas.
Classe pública RuleOnAttribute Significa que a classe à qual esse atributo é aplicado é uma regra.Parâmetro do atributo especifica qual domínio classe aplica-se.
Classe pública SerializationContext Define o contexto de uma operação de serialização.
Classe pública SerializationContextTransactionExtensions Métodos de extensão para acessar SerializationContext no escopo de uma transação
Classe pública SerializationException Lança um SerializationResult como uma exceção.
Classe pública SerializationMessage Representa uma mensagem de serialização.
Classe pública SerializationResult Representa um resultado de serialização.
Classe pública SerializationUtilities Fornece utilitários para serialização.
Classe pública SimpleMonikerResolver Resolve referências de seqüência de caracteres simples quando o modelo é serializado usando a serialização de XML padrão.
Classe pública StandardExtensionLocator Implementação padrão da interface IExtensionLocator
Classe pública StandardSerializerLocator Implementação padrão da interface ISerializerLocator
Classe pública Store O armazenamento contém uma representação em memória dos elementos e links em um ou mais modelos.
Classe pública Transaction Uma transação certifica-se de que as alterações feitas no armazenamento são tratadas como um grupo que pode ser confirmado ou revertido.
Classe pública TransactionBeginningEventArgs Fornece dados para o evento TransactionBeginning.
Classe pública TransactionBeginningEventManager Gerencia eventos de início da transação.
Classe pública TransactionBeginningRule Representa uma regra que é chamada quando uma transação está começando no modelo.
Classe pública TransactionCommitEventArgs Fornece dados para o evento TransactionCommit.
Classe pública TransactionCommittedEventManager Gerencia eventos de transação confirmada.
Classe pública TransactionCommittingRule Representa uma regra que é chamada quando uma transação está em andamento no modelo.
Classe pública TransactionContext Armazena dados de usuário em uma transação.
Classe pública TransactionEventArgs Fornece dados para eventos de transação.
Classe pública TransactionEventManager Representa a classe base para gerenciar as notificações de eventos de transação.
Classe pública TransactionItem Representa um item de transação.
Classe pública TransactionLog Representa um recipiente de eventos de transação.
Classe pública TransactionManager Cria Transaction objetos e mantém o controle de transação ativa atual.
Classe pública TransactionRollbackEventArgs Argumentos de evento para eventos de transação de reversão
Classe pública TransactionRolledBackEventManager Gerencia eventos de reversão da transação.
Classe pública TransactionRollingBackRule Representa uma regra que é chamada quando uma transação está sendo revertida no modelo.
Classe pública UndoItemEventArgs Fornece dados para o evento UndoItem.
Classe pública UndoManager Fornece a funcionalidade para desfazer e refazer operações.
Classe pública UndoRedoCanceledException Representa a exceção que é lançada quando uma operação de desfazer ou refazer foi cancelada.
Classe pública VisitorFilters Retorna a vários filtros padrão do visitante.

Estruturas

  Estrutura Descrição
Estrutura pública ReadOnlyLinkedElementCollection<T>.Enumerator Fornece um enumerador através de um ReadOnlyLinkedElementCollection

Interfaces

  Interface Descrição
Interface pública IDomainModelSerializer Define o contrato para um serializador de modelo de domínio padrão.
Interface pública IElementDirectory Diretório de elementos de modelo que estão contidas em uma loja ou uma partição.
Interface pública IElementPartitionMapper Interface para o serviço usado para mapear as partições de elementos quando com a recomposição de ElementGroupPrototypes
Interface pública IElementVisitor Define o percurso de um modelo.
Interface pública IElementVisitorFilter Fornece um mecanismo de retorno de chamada para filtragem de qual função players e os relacionamentos devem ser visitados durante a passagem por um ElementWalker.
Interface pública IExtensionLocator Essa interface fornece uma maneira para que os serializadores gerados resolver um namespace de destino do esquema para um modelo de domínio.
Interface pública IMergeElements Permite que classes derivados modelos para acessar a funcionalidade de mesclagem em um elemento de modelo.
Interface pública IMonikerResolver Resolve um identificador de origem para o seu elemento.
Interface pública ISchemaResolver Essa interface fornece uma maneira para que os serializadores gerados resolver um namespace de destino do esquema.Dado um arquivo XML usando um namespace de destino específico, é importante localizar os esquemas que definem o espaço para nome, para que o gerado serializadores podem fazer validações de esquema corretamente.
Interface pública ISerializerLocator Essa interface fornece uma maneira de localizar serializadores para um modelo de domínio.
Interface pública ITransientTransactionContextObject Marcador de interface para indicar que um determinado objeto é transitório e serão liberados (e descartado) após confirmação da transação
Interface pública SElementPartitionMapper Identificador de serviço para o serviço de mapeamento de partição do elemento grupo rehydration

Delegados

  Delegado Descrição
Delegado público CanCommitCallback Representa um método de retorno de chamada para determinar se uma transação pode confirmar com base em critérios externos.
Delegado público CanUndoRedoCallback Adicione uma instância para o UndoManager para Votar sobre se uma operação de desfazer ou refazer pode continuar.

Enumerações

  Enumeração Descrição
Enumeração pública CanCommitResult Status de enumeração para o retorno de chamada CanCommit.
Enumeração pública ChangeSource Indica a fonte de uma alteração que foi feita durante uma transação.
Enumeração pública ClosureType Descreve o tipo de encerramento para criar.
Enumeração pública CompletionStatus Descreve como a transação foi concluída.
Enumeração pública DeleteState Identifica o estado do elemento que está sendo excluído.
Enumeração pública DomainPropertyKind Especifica o tipo de propriedade de domínio.
Enumeração pública DomainRoleOrder Especifica a direção de uma função de domínio em uma relação de domínio.
Enumeração pública Multiplicity Indica a multiplicidade para uma função de domínio.
Enumeração pública PropagatesCopyOption Enum que lista as várias opções de PropagateCopy.
Enumeração pública SerializationMessageKind Formata a mensagem de serialização.
Enumeração pública TimeToFire Determina quando a regra de chamada.
Enumeração pública UndoState Descreve o estado de desfazer na UndoManager.
Enumeração pública VisitorFilterResult Indica se um elemento deve ser visitado.