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 命名空間