共用方式為


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
)

參數

  • elementLinkType
    型別:System.Type
    DSL 定義中定義的非抽象網域關聯性。

傳回值

型別: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 安全性

請參閱

參考

DomainModel 類別

Microsoft.VisualStudio.Modeling 命名空間

其他資源

[重新導向] 產生的 API 中的網域模型