DomainModel.CreateElementLink 方法
创建一个指定类型的元素链接。
命名空间: Microsoft.VisualStudio.Modeling
程序集: Microsoft.VisualStudio.Modeling.Sdk.11.0(在 Microsoft.VisualStudio.Modeling.Sdk.11.0.dll 中)
语法
声明
Public Overridable Function CreateElementLink ( _
partition As Partition, _
elementLinkType As Type, _
roleAssignments As RoleAssignment(), _
propertyAssignments As PropertyAssignment() _
) As ElementLink
public virtual ElementLink CreateElementLink(
Partition partition,
Type elementLinkType,
RoleAssignment[] roleAssignments,
PropertyAssignment[] propertyAssignments
)
参数
- partition
类型:Microsoft.VisualStudio.Modeling.Partition
分区元素链接要创建的位置。通常 DefaultPartition。
- elementLinkType
类型:System.Type
在 DSL 定义的非抽象域关系。
- roleAssignments
类型:array<Microsoft.VisualStudio.Modeling.RoleAssignment[]
关系新元素链接的角色分配。
- propertyAssignments
类型:array<Microsoft.VisualStudio.Modeling.PropertyAssignment[]
如果域关系定义其实例的属性,可以为其分配的值示。
返回值
类型:Microsoft.VisualStudio.Modeling.ElementLink
ElementLink 创建的。
备注
创建链接此方法适用于生成的代码要比对泛型编程。
下面的示例在从最小语言解决方案模板生成的 DSL 使用定义的类型。
示例
使用此方法,创建链接:
ExampleElement element1, element2;
MyLanguageDomainModel dm = ...;
RoleAssignment sourceRole = new RoleAssignment(ExampleElementReferencesTargets.SourceDomainRoleId, element1);
RoleAssignment targetRole = new RoleAssignment(ExampleElementReferencesTargets.TargetDomainRoleId, element2);
ExampleElementReferencesTargets link1 =
dm.CreateElementLink(dm.Store.DefaultPartition,
typeof(ExampleElementReferencesTargets),
new RoleAssignment[] { sourceRole, targetRole},
null)
as ExampleElementReferencesTargets;
更直接地使用域关系,此示例创建相同的链接:
ExampleElementReferencesTargets link = new
ExampleElementReferencesTargets(element1, element2);
如果域关系定义在其关联的类的作用,属性,并且,如果您不希望对该链接,使用角色的属性,则可以创建链接。 在最小的语言 DSL, ExampleElementReferencesTargets 关系定义角色的属性 Source 和 Target:
// Creates the link without returning a reference to it:
element1.Targets.Add(element2);
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。
请参见
参考
Microsoft.VisualStudio.Modeling 命名空间