Condividi tramite


Classe ElementLink

Classe di base per tutte le relazioni del dominio.

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.Modeling.ModelElement
    Microsoft.VisualStudio.Modeling.ElementLink
      Ulteriori informazioni

Spazio dei nomi:  Microsoft.VisualStudio.Modeling
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

Sintassi

'Dichiarazione
<SerializableAttribute> _
<DomainRelationshipAttribute(AllowsDuplicates := True)> _
<DomainObjectIdAttribute("706debaa-dd2d-4293-99af-695aadd36c9a")> _
Public MustInherit Class ElementLink _
    Inherits ModelElement
[SerializableAttribute]
[DomainRelationshipAttribute(AllowsDuplicates = true)]
[DomainObjectIdAttribute("706debaa-dd2d-4293-99af-695aadd36c9a")]
public abstract class ElementLink : ModelElement

Il tipo ElementLink espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo protetto ElementLink Crea una nuova istanza della classe ElementLink.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Id Ottiene l'ID dell'elemento. (Ereditato da ModelElement)
Proprietà pubblica IsActive Ottiene il flag IsActive e verifica se l'elemento è attivo. (Ereditato da ModelElement)
Proprietà pubblica IsDeleted Ottiene il flag IsDeleted e verifica se l'elemento è stato eliminato dal modello. (Ereditato da ModelElement)
Proprietà pubblica IsDeleting Ottiene il flag IsDeleting e verifica se l'elemento è attualmente in fase di eliminazione dal modello. (Ereditato da ModelElement)
Proprietà pubblica LinkedElements Ottiene una raccolta di sola lettura degli elementi connessi mediante il collegamento dell'elemento.
Proprietà pubblica Partition Ottiene o imposta l'oggetto Partition contenente l'elemento. (Ereditato da ModelElement)
Proprietà pubblica Store Ottiene Store contenente l'elemento. (Ereditato da ModelElement)

In alto

Metodi

  Nome Descrizione
Metodo protetto CanMerge Verifica se l'elemento di origine può essere aggiunto a questo elemento. (Ereditato da ModelElement)
Metodo protetto ChooseMergeTarget(ElementGroup) Seleziona un elemento di destinazione da accettare come figlio di un elemento che l'utente desidera copiare, trascinare, o creare. (Ereditato da ModelElement)
Metodo protetto ChooseMergeTarget(ElementGroupPrototype) Seleziona un elemento di destinazione da accettare come figlio di un elemento che l'utente desidera copiare, trascinare, o creare. (Ereditato da ModelElement)
Metodo pubblico Copy() Crea una copia dell'elemento nel modello. (Ereditato da ModelElement)
Metodo pubblico Copy(IEnumerable<Guid>) Crea una copia dell'elemento e dei relativi collegamenti ed elementi figlio. (Ereditato da ModelElement)
Metodo pubblico Delete() Per eliminare un elemento dal modello (Ereditato da ModelElement)
Metodo pubblico Delete(array<Guid[]) Per eliminare un elemento dal modello (Ereditato da ModelElement)
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetDomainClass Ottiene la classe di dominio maggiormente derivata per questo elemento. (Ereditato da ModelElement)
Metodo pubblico GetDomainRelationship Ottiene la relazione di dominio di cui questo collegamento ha creato l'istanza.
Metodo pubblico GetHashCode Funge da funzione hash predefinita. (Ereditato da Object)
Metodo protetto GetRoleCollection<TCollection, TElement>(Guid) Ottiene o crea la raccolta di elementi collegati (Ereditato da ModelElement)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto MergeConfigure Consente all'elemento del modello di configurarsi subito dopo che il processo di merge lo ha correlato all'elemento di destinazione. (Ereditato da ModelElement)
Metodo protetto MergeDisconnect Scollega un elemento di origine da un elemento di destinazione. (Ereditato da ModelElement)
Metodo protetto MergeRelate Crea una relazione tra questo elemento di destinazione e l'elemento di origine specificato. (Ereditato da ModelElement)
Metodo pubblico MoveBefore Modificare l'ordine dei collegamenti connessi a un elemento, spostando questo collegamento prima di un altro.
Metodo pubblico MoveToIndex Spostare il collegamento a una posizione di indice specificato nell'elenco.
Metodo protetto OnCopy Chiamato quando questo elemento è stato creato come copia di un altro elemento. (Ereditato da ModelElement)
Metodo protetto OnDeleted Chiamato quando questo elemento è stato eliminato dal modello. (Ereditato da ModelElement)
Metodo protetto OnDeleting Chiamato quando questo elemento sta per essere eliminato. (Ereditato da ModelElement)
Metodo protetto OnResurrected Chiamato quando questo elemento è stato aggiunto di nuovo a un modello. (Ereditato da ModelElement)
Metodo protetto OnRolePlayerChanged Chiamato quando l'assegnatario di ruolo è stato modificato.
Metodo protetto OnRolePlayerChanging Chiamato quando l'assegnatario di ruolo verrà modificato.
Metodo protetto OnRolePlayerPositionChanged Questo metodo viene chiamato quando viene modificata la posizione di un ruolo. (Ereditato da ModelElement)
Metodo protetto OnRolePlayerPositionChanging Chiamato quando una posizione dell'assegnatario di ruolo sta per essere modificata. (Ereditato da ModelElement)
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Metodi di estensione

  Nome Descrizione
Metodo di estensione pubblico AddExtension(Guid) Sottoposto a overload. Estende ModelElement con un'estensione del tipo di dominio identificato per la quale è stata creata una nuova istanza.Viene generato un InvalidOperationException se l'elemento ha già un'estensione di quel tipo. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico AddExtension(Type) Sottoposto a overload. Estende ModelElement con un'estensione del tipo specificato per la quale è stata creata una nuova istanza.Viene generato un InvalidOperationException se l'elemento ha già un'estensione di quel tipo. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico AddExtension(DomainClassInfo) Sottoposto a overload. Estende ModelElement con un'estensione del tipo di dominio specificato per la quale è stata creata una nuova istanza.Viene generato un InvalidOperationException se l'elemento ha già un'estensione di quel tipo. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico AddExtension(ExtensionElement) Sottoposto a overload. Estende ModelElement con un'estensione specifica.Viene generata un'eccezione InvalidOperationException se l'elemento ha già un'estensione dello stesso tipo. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico AddExtension<T>() Sottoposto a overload. Estende ModelElement con un'estensione di un tipo particolare per la quale è stata creata una nuova istanza.Viene generata un'eccezione InvalidOperationException se l'elemento ha già un'estensione dello stesso tipo. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico CanDelete Per eliminare un elemento dal modello (Definito da ImmutabilityExtensionMethods).
Metodo di estensione pubblico GetAllExtensions Restituire un oggetto enumerabile che esegue un primo ampio attraversamento dell'albero di elementi di estensione incorporati in questo elemento ModelElement. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico GetBaseElement Restituisce la radice del MEL virtuale a cui partecipa l'elemento ModelElement specificato. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico GetExtension(Guid) Sottoposto a overload. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico GetExtension(Type) Sottoposto a overload. Ottiene l'oggetto ExtensionElement del tipo specificato dalle estensioni disponibili di questo ModelElement.Se l'elemento non dispone di tale estensione, allora verrà generata un'eccezione InvalidOperationException. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico GetExtension(DomainClassInfo) Sottoposto a overload. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico GetExtension<T>() Sottoposto a overload. Ottiene l'oggetto ExtensionElement del tipo specificato dalle estensioni disponibili di questo ModelElement.Se l'elemento non dispone di tale estensione, allora verrà generata un'eccezione InvalidOperationException. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico GetLocks Ottiene i flag di blocco per questo elemento.Includerà tutti i blocchi abilitati nella partizione che contiene l'elemento. (Definito da ImmutabilityExtensionMethods).
Metodo di estensione pubblico IsExtendedBy(Guid) Sottoposto a overload. Eseguire query per determinare se questo oggetto ModelElement è attualmente esteso da un oggetto ExtensionElement di un tipo particolare. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico IsExtendedBy(Type) Sottoposto a overload. Eseguire query per determinare se questo oggetto ModelElement è attualmente esteso da un oggetto ExtensionElement di un tipo particolare. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico IsExtendedBy(DomainClassInfo) Sottoposto a overload. Eseguire query per determinare se questo oggetto ModelElement è attualmente esteso da un oggetto ExtensionElement di un tipo particolare. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico IsLocked Verifica se l'elemento ha un set specificato di blocchi (Definito da ImmutabilityExtensionMethods).
Metodo di estensione pubblico RemoveExtension(Type) Sottoposto a overload. Rimuovere qualsiasi estensione di questo oggetto ModelElement di un particolare tipo. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico RemoveExtension(Guid) Sottoposto a overload. Rimuovere qualsiasi estensione del ModelElement specificato di un particolare tipo. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico RemoveExtension(DomainClassInfo) Sottoposto a overload. Rimuovere qualsiasi estensione del ModelElement specificato di un particolare tipo. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico RemoveExtension(ExtensionElement) Sottoposto a overload. Rimuovere un oggetto ExtensionElement specificato dalle estensioni di questo oggetto ModelElement. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico SetLocks Impostare i contrassegni di blocco di questo elemento (Definito da ImmutabilityExtensionMethods).
Metodo di estensione pubblico TryGetExtension(Guid) Sottoposto a overload. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico TryGetExtension(Type) Sottoposto a overload. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico TryGetExtension(DomainClassInfo) Sottoposto a overload. (Definito da ModelElementExtensionMethods).
Metodo di estensione pubblico TryGetExtension<T>() Sottoposto a overload. Ottiene l'oggetto ExtensionElement del tipo specificato dalle estensioni disponibili di questo ModelElement.Se questo elemento non dispone di tale estensione, il risultato è null. (Definito da ModelElementExtensionMethods).

In alto

Campi

  Nome Descrizione
Campo pubblicoMembro statico DomainClassId ID della classe di dominio per ElementLink.

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato IMergeElements.CanMerge Restituisce true se questo elemento può essere sottoposto a merge con il contenuto del prototipo. (Ereditato da ModelElement)
Implementazione esplicita dell'interfacciaMetodo privato IMergeElements.ChooseMergeTarget(ElementGroup) (Ereditato da ModelElement)
Implementazione esplicita dell'interfacciaMetodo privato IMergeElements.ChooseMergeTarget(ElementGroupPrototype) (Ereditato da ModelElement)
Implementazione esplicita dell'interfacciaMetodo privato IMergeElements.MergeConfigure (Ereditato da ModelElement)
Implementazione esplicita dell'interfacciaMetodo privato IMergeElements.MergeDisconnect (Ereditato da ModelElement)
Implementazione esplicita dell'interfacciaMetodo privato IMergeElements.MergeRelate (Ereditato da ModelElement)

In alto

Note

Quando si definisce una relazione di dominio tra due ModelElements nella definizione di linguaggio specifico di dominio, la classe generata viene derivata da ElementLink. Molte relazioni nel runtime e nella finestra di progettazione DSL sono inoltre ElementLinks.

ElementLinks è anche ModelElements e pertanto può disporre di proprietà e essere connesso collegamenti.

Per ulteriori informazioni, vedere Esplorazione e aggiornamento di un modello nel codice del programma.

Esempi

[reindirizzamento] Procedura dettagliata: creazione di un'API generata

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Modeling

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.Modeling.ModelElement
    Microsoft.VisualStudio.Modeling.ElementLink
      Microsoft.VisualStudio.Modeling.Diagrams.LinkConnectsToNode
      Microsoft.VisualStudio.Modeling.Diagrams.ParentShapeContainsNestedChildShapes
      Microsoft.VisualStudio.Modeling.Diagrams.ParentShapeHasRelativeChildShapes
      Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject
      Microsoft.VisualStudio.Modeling.DslDefinition.AttributedDomainElementHasAttributes
      Microsoft.VisualStudio.Modeling.DslDefinition.AttributeHasParameters
      Microsoft.VisualStudio.Modeling.DslDefinition.BaseShapeMapReferencesBaseShape
      Microsoft.VisualStudio.Modeling.DslDefinition.ClassHasBaseClass
      Microsoft.VisualStudio.Modeling.DslDefinition.ClassHasElementMergeDirectives
      Microsoft.VisualStudio.Modeling.DslDefinition.ClassHasProperties
      Microsoft.VisualStudio.Modeling.DslDefinition.ClassIndexesElementMergeDirective
      Microsoft.VisualStudio.Modeling.DslDefinition.CompartmentMapHasElementsDisplayedPath
      Microsoft.VisualStudio.Modeling.DslDefinition.CompartmentMapHasPropertyDisplayedPath
      Microsoft.VisualStudio.Modeling.DslDefinition.CompartmentMapsReferToCompartment
      Microsoft.VisualStudio.Modeling.DslDefinition.CompartmentShapeMapHasCompartmentMaps
      Microsoft.VisualStudio.Modeling.DslDefinition.ConnectionBuilderHasLinkConnectDirectives
      Microsoft.VisualStudio.Modeling.DslDefinition.ConnectorMapReferencesConnector
      Microsoft.VisualStudio.Modeling.DslDefinition.ConnectorMapReferencesRelationship
      Microsoft.VisualStudio.Modeling.DslDefinition.ConnectorToolReferencesConnectionBuilder
      Microsoft.VisualStudio.Modeling.DslDefinition.CustomPropertyDescriptor
      Microsoft.VisualStudio.Modeling.DslDefinition.DecoratorMapHasPropertyDisplayedPath
      Microsoft.VisualStudio.Modeling.DslDefinition.DecoratorMapHasVisibilityPropertyPath
      Microsoft.VisualStudio.Modeling.DslDefinition.DecoratorMapReferencesDecorator
      Microsoft.VisualStudio.Modeling.DslDefinition.DesignerHasDiagram
      Microsoft.VisualStudio.Modeling.DslDefinition.DiagramElementHasDecorators
      Microsoft.VisualStudio.Modeling.DslDefinition.DiagramElementMapHasDecoratorMaps
      Microsoft.VisualStudio.Modeling.DslDefinition.DiagramHasConnectorMaps
      Microsoft.VisualStudio.Modeling.DslDefinition.DiagramHasShapeMaps
      Microsoft.VisualStudio.Modeling.DslDefinition.DiagramRepresentsClass
      Microsoft.VisualStudio.Modeling.DslDefinition.DomainClassHasCustomTypeDescriptor
      Microsoft.VisualStudio.Modeling.DslDefinition.DomainPropertyHasElementNameProvider
      Microsoft.VisualStudio.Modeling.DslDefinition.DomainRoleHasPropertyAttributes
      Microsoft.VisualStudio.Modeling.DslDefinition.DomainRoleImplementedByCollectionType
      Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinesEditor
      Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinesExplorer
      Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinesExplorerBehavior
      Microsoft.VisualStudio.Modeling.DslDefinition.DslEditorIdentifiesRootClass
      Microsoft.VisualStudio.Modeling.DslDefinition.DslLibraryHasConnectionBuilders
      Microsoft.VisualStudio.Modeling.DslDefinition.DslLibraryHasDslLibraryImports
      Microsoft.VisualStudio.Modeling.DslDefinition.DslLibraryHasReferenceTypes
      Microsoft.VisualStudio.Modeling.DslDefinition.DslLibraryHasTypes
      Microsoft.VisualStudio.Modeling.DslDefinition.DslLibraryHasXmlSerializationBehavior
      Microsoft.VisualStudio.Modeling.DslDefinition.EditorHasToolboxTabs
      Microsoft.VisualStudio.Modeling.DslDefinition.EditorHasValidation
      Microsoft.VisualStudio.Modeling.DslDefinition.EditorHasXmlSerializationDefinition
      Microsoft.VisualStudio.Modeling.DslDefinition.ElementMergeDirectiveHasForwardingPath
      Microsoft.VisualStudio.Modeling.DslDefinition.ElementMergeDirectiveHasLinkCreationPaths
      Microsoft.VisualStudio.Modeling.DslDefinition.EnumerationHasAttributes
      Microsoft.VisualStudio.Modeling.DslDefinition.EnumerationHasLiterals
      Microsoft.VisualStudio.Modeling.DslDefinition.ExplorerBehaviorHasNodeSettings
      Microsoft.VisualStudio.Modeling.DslDefinition.ExplorerHidesNodes
      Microsoft.VisualStudio.Modeling.DslDefinition.ExplorerNodeSettingsHasPropertyDisplayedPath
      Microsoft.VisualStudio.Modeling.DslDefinition.ExplorerNodeSettingsReferencesClass
      Microsoft.VisualStudio.Modeling.DslDefinition.ExplorerReferencesBehavior
      Microsoft.VisualStudio.Modeling.DslDefinition.LinkConnectDirectiveHasSourceDirectives
      Microsoft.VisualStudio.Modeling.DslDefinition.LinkConnectDirectiveHasTargetDirectives
      Microsoft.VisualStudio.Modeling.DslDefinition.LinkConnectDirectiveReferencesDomainRelationship
      Microsoft.VisualStudio.Modeling.DslDefinition.ObjectToolReferencesClass
      Microsoft.VisualStudio.Modeling.DslDefinition.PathHasSegments
      Microsoft.VisualStudio.Modeling.DslDefinition.PathSegmentReferencesRole
      Microsoft.VisualStudio.Modeling.DslDefinition.PropertyHasType
      Microsoft.VisualStudio.Modeling.DslDefinition.PropertyPathHasPath
      Microsoft.VisualStudio.Modeling.DslDefinition.PropertyPathReferencesProperty
      Microsoft.VisualStudio.Modeling.DslDefinition.RelationshipHasRoles
      Microsoft.VisualStudio.Modeling.DslDefinition.RoleHasRolePlayer
      Microsoft.VisualStudio.Modeling.DslDefinition.RolePlayerConnectDirectiveAcceptsClass
      Microsoft.VisualStudio.Modeling.DslDefinition.RolePlayerConnectDirectiveHasPathToRolePlayer
      Microsoft.VisualStudio.Modeling.DslDefinition.ShapeHasCompartments
      Microsoft.VisualStudio.Modeling.DslDefinition.ShapeMapHasParentElementPath
      Microsoft.VisualStudio.Modeling.DslDefinition.ShapeMapReferencesClass
      Microsoft.VisualStudio.Modeling.DslDefinition.ToolboxTabHasTools
      Microsoft.VisualStudio.Modeling.DslDefinition.VisibilityPropertyPathHasPropertyFilters
      Microsoft.VisualStudio.Modeling.DslDefinition.XmlClassDataAppliesToDomainClass
      Microsoft.VisualStudio.Modeling.DslDefinition.XmlClassDataHasXmlElementData
      Microsoft.VisualStudio.Modeling.DslDefinition.XmlElementAppliesToDomainProperty
      Microsoft.VisualStudio.Modeling.DslDefinition.XmlRelationshipDataAppliesToDomainRelationship
      Microsoft.VisualStudio.Modeling.DslDefinition.XmlSerializationBehaviorHasXmlClassData
      Microsoft.VisualStudio.Modeling.DslDefinition.XmlSerializationDefinitionReferencesBehavior
      Microsoft.VisualStudio.Modeling.ExtensionExtendsElement