Поделиться через


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.
  • 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

См. также

Ссылки

DomainModel Класс

Microsoft.VisualStudio.Modeling - пространство имен

Другие ресурсы

[перенаправление] Доменная модель в генерируемом API