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 - пространство имен