ModelElement 类

所有域模型元素的基类。 DomainModel 中的所有元素和链接都是此类型的成员。

继承层次结构

System.Object
  Microsoft.VisualStudio.Modeling.ModelElement
    Microsoft.VisualStudio.Modeling.Diagrams.PresentationElement
    Microsoft.VisualStudio.Modeling.DslDefinition.DomainElement
    Microsoft.VisualStudio.Modeling.DslDefinition.DslLibraryImport
    Microsoft.VisualStudio.Modeling.ElementLink
    Microsoft.VisualStudio.Modeling.ExtensionElement

命名空间:  Microsoft.VisualStudio.Modeling
程序集:  Microsoft.VisualStudio.Modeling.Sdk.12.0(在 Microsoft.VisualStudio.Modeling.Sdk.12.0.dll 中)

语法

声明
<DomainObjectIdAttribute("2b13e0d1-7959-458d-834f-2dc0769ce683")> _
Public MustInherit Class ModelElement _
    Implements IMergeElements
[DomainObjectIdAttribute("2b13e0d1-7959-458d-834f-2dc0769ce683")]
public abstract class ModelElement : IMergeElements

ModelElement 类型公开以下成员。

构造函数

  名称 说明
受保护的方法 ModelElement 初始化 ModelElement 类的新实例。

页首

属性

  名称 说明
公共属性 Id 获取元素的 ID。
公共属性 IsActive 获取 IsActive 标志并验证该元素是否处于活动状态。
公共属性 IsDeleted 获取 IsDeleted 标志并检查该元素是否已从该模型中删除。
公共属性 IsDeleting 获取 IsDeleting 标志并验证该元素是否正在从该模型中删除。
公共属性 Partition 获取或设置包含元素的 Partition
公共属性 Store 获取包含元素的 Store

页首

方法

  名称 说明
公共方法静态成员 AddExtension(ModelElement, DomainClassInfo) 用指定的域类型的一新的实例扩展指定的 ModelElement。如果元素已具有相同类型的扩展名,则将引发 InvalidOperationException。
公共方法静态成员 AddExtension(ModelElement, ExtensionElement) 用一指定的扩展 扩展指定的 ModelElement。如果元素已具有相同类型的扩展名,则将引发 InvalidOperationException。
公共方法静态成员 AddExtension(ModelElement, Guid) 用被标识的域类型的一新的实例扩展指定的 ModelElement。如果元素已具有相同类型的扩展名,则将引发 InvalidOperationException。
公共方法静态成员 AddExtension(ModelElement, Type) 用指定类型的一新的实例扩展指定的 ModelElement。如果元素已具有相同类型的扩展名,则将引发 InvalidOperationException。
公共方法静态成员 AddExtension<T>(ModelElement) 用特定类型的一新的实例扩展指定的 ModelElement。如果元素已具有相同类型的扩展名,则将引发 InvalidOperationException。
受保护的方法 CanMerge 验证源元素是否可添加到此元素。
受保护的方法 ChooseMergeTarget(ElementGroup) 选择目标元素以作为其子元素而接受,该子元素是用户要进行复制、拖动或创建的。
受保护的方法 ChooseMergeTarget(ElementGroupPrototype) 选择目标元素以作为其子元素而接受,该子元素是用户要进行复制、拖动或创建的。
公共方法 Copy() 创建模型中元素的副本。
公共方法 Copy(IEnumerable<Guid>) 创建此元素的复制品、其子链接以及元素。
公共方法 Delete() 从模型中删除元素。
公共方法 Delete(array<Guid[]) 从模型中删除元素。
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法静态成员 GetAllExtensions 横跨嵌入在指定 ModelElement 的扩展元素树来返回执行广度优先遍历的可枚举。
公共方法静态成员 GetBaseElement 返回指定的 ModelElement 参与的虚拟 MEL 根。
公共方法 GetDomainClass 获取该元素派生度最高的域类。
公共方法静态成员 GetExtension(ModelElement, DomainClassInfo)
公共方法静态成员 GetExtension(ModelElement, Guid)
公共方法静态成员 GetExtension(ModelElement, Type) 从指定的 ModelElement 可用扩展中获取指定类型的 ExtensionElement 链接。如果该元素没有此类扩展名,则将引发 InvalidOperationException。
公共方法静态成员 GetExtension<T>(ModelElement) 从指定的 ModelElement 可用扩展中获取指定类型的 ExtensionElement 链接。如果该元素没有此类扩展名,则将引发 InvalidOperationException。
公共方法 GetHashCode 作为默认哈希函数。 (继承自 Object。)
受保护的方法 GetRoleCollection<TCollection, TElement>(Guid) 获取或创建链接元素集合
受保护的方法静态成员 GetRoleCollection<TCollection, TElement>(ModelElement, Guid) 获取或创建链接元素集合
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法静态成员 IsExtendedBy(ModelElement, DomainClassInfo) 询问指定的 ModelElement 当前是否由特定类型的 ExtensionElement 扩展。
公共方法静态成员 IsExtendedBy(ModelElement, Guid) 询问指定的 ModelElement 当前是否由特定类型的 ExtensionElement 扩展。
公共方法静态成员 IsExtendedBy(ModelElement, Type) 询问指定的 ModelElement 当前是否由特定类型的 ExtensionElement 扩展。
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
受保护的方法 MergeConfigure 合并进程与目标元素相关之后,允许模型元素立即配置其自身。
受保护的方法 MergeDisconnect 与目标元素断开源元素。
受保护的方法 MergeRelate 创建此目标元素与指定源元素之间的关系。
受保护的方法 OnCopy 当此元素已创建为另一个元素的副本时调用。
受保护的方法 OnDeleted 当已从该模型中删除此元素时调用。
受保护的方法 OnDeleting 当此元素将要被删除时调用。
受保护的方法 OnResurrected 当此元素已添加回一个模型时调用。
受保护的方法 OnRolePlayerPositionChanged 在角色的位置发生更改时调用。
受保护的方法 OnRolePlayerPositionChanging 当角色扮演者位置将更改时调用。
公共方法静态成员 RemoveExtension(ModelElement, DomainClassInfo) 移除属于特殊域类型的指定 ModelElement 的扩展名。
公共方法静态成员 RemoveExtension(ModelElement, ExtensionElement) 从指定的 ModelElement 的扩展移除指定的 ExtensionElement。
公共方法静态成员 RemoveExtension(ModelElement, Guid) 移除属于特殊类型的指定 ModelElement 的扩展名。
公共方法静态成员 RemoveExtension(ModelElement, Type) 移除属于特殊类型的指定 ModelElement 的扩展名。
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)
公共方法静态成员 TryGetExtension(ModelElement, DomainClassInfo)
公共方法静态成员 TryGetExtension(ModelElement, Guid)
公共方法静态成员 TryGetExtension(ModelElement, Type)
公共方法静态成员 TryGetExtension<T>(ModelElement) 从指定的 ModelElement 可用扩展中获取指定类型的 ExtensionElement 链接。如果该元素没有此类扩展名,则将结果为 null。

页首

扩展方法 

  名称 说明
公共扩展方法 AddExtension(Guid) 已重载。 用被标识的域类型的一新的实例扩展此 ModelElement。如果元素已具有该类型的扩展名,则将引发 InvalidOperationException。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 AddExtension(Type) 已重载。 用指定类型的一新的实例扩展此 ModelElement。如果元素已具有该类型的扩展名,则将引发 InvalidOperationException。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 AddExtension(DomainClassInfo) 已重载。 用指定域类型的一新的实例扩展此 ModelElement。如果元素已具有该类型的扩展名,则将引发 InvalidOperationException。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 AddExtension(ExtensionElement) 已重载。 用一指定的扩展 扩展此 ModelElement。如果元素已具有相同类型的扩展名,则将引发 InvalidOperationException。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 AddExtension<T>() 已重载。 用特定类型的一新的实例扩展此 ModelElement。如果元素已具有相同类型的扩展名,则将引发 InvalidOperationException。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 CanDelete 从模型中删除元素。 (由 ImmutabilityExtensionMethods 定义。)
公共扩展方法 GetAllExtensions 横跨嵌入在该 ModelElement 的扩展元素树来返回执行广度优先遍历的可枚举。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 GetBaseElement 返回指定的 ModelElement 参与的虚拟 MEL 根。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 GetExtension(Guid) 已重载。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 GetExtension(Type) 已重载。 从此 ModelElement 可用扩展中获取指定类型的 ExtensionElement。如果该元素没有此类扩展名,则将引发 InvalidOperationException。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 GetExtension(DomainClassInfo) 已重载。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 GetExtension<T>() 已重载。 从此 ModelElement 可用扩展中获取指定类型的 ExtensionElement。如果该元素没有此类扩展名,则将引发 InvalidOperationException。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 GetLocks 获取此元素的锁定标识。这将包括可在分区包含元素中启用的任何锁。 (由 ImmutabilityExtensionMethods 定义。)
公共扩展方法 IsExtendedBy(Guid) 已重载。 询问该 ModelElement 当前是否由特定类型的 ExtensionElement 扩展。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 IsExtendedBy(Type) 已重载。 询问该 ModelElement 当前是否由特定类型的 ExtensionElement 扩展。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 IsExtendedBy(DomainClassInfo) 已重载。 询问该 ModelElement 当前是否由特定类型的 ExtensionElement 扩展。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 IsLocked 测试此元素是否存在一组指定的锁 (由 ImmutabilityExtensionMethods 定义。)
公共扩展方法 RemoveExtension(Type) 已重载。 移除属于特殊类型的该 ModelElement 的扩展名。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 RemoveExtension(Guid) 已重载。 移除属于特殊类型的指定 ModelElement 的扩展名。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 RemoveExtension(DomainClassInfo) 已重载。 移除属于特殊类型的指定 ModelElement 的扩展名。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 RemoveExtension(ExtensionElement) 已重载。 从该 ModelElement 的扩展移除指定的 ExtensionElement。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 SetLocks 设置此元素的锁定标识 (由 ImmutabilityExtensionMethods 定义。)
公共扩展方法 TryGetExtension(Guid) 已重载。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 TryGetExtension(Type) 已重载。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 TryGetExtension(DomainClassInfo) 已重载。 (由 ModelElementExtensionMethods 定义。)
公共扩展方法 TryGetExtension<T>() 已重载。 从此 ModelElement 可用扩展中获取指定类型的 ExtensionElement。如果钙元素没有此扩展,则结果为 NULL 。 (由 ModelElementExtensionMethods 定义。)

页首

字段

  名称 说明
公共字段静态成员 DomainClassId 表示此元素域类的 ID。

页首

显式接口实现  

  名称 说明
显式接口实现私有方法 IMergeElements.CanMerge 如果该元素可已与原型的内容合并则返回 true。
显式接口实现私有方法 IMergeElements.ChooseMergeTarget(ElementGroup)
显式接口实现私有方法 IMergeElements.ChooseMergeTarget(ElementGroupPrototype)
显式接口实现私有方法 IMergeElements.MergeConfigure
显式接口实现私有方法 IMergeElements.MergeDisconnect
显式接口实现私有方法 IMergeElements.MergeRelate

页首

备注

有关详细信息,请参阅在程序代码中导航和更新模型

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参阅

参考

Microsoft.VisualStudio.Modeling 命名空间

其他资源

规则在模型内部传播更改