DomainModel.CreateElement Method

Creates an element of a specified type.

Namespace:  Microsoft.VisualStudio.Modeling
Assembly:  Microsoft.VisualStudio.Modeling.Sdk (in Microsoft.VisualStudio.Modeling.Sdk.dll)

Syntax

'Declaration
Public Overridable Function CreateElement ( _
    partition As Partition, _
    elementType As Type, _
    propertyAssignments As PropertyAssignment() _
) As ModelElement
'Usage
Dim instance As DomainModel 
Dim partition As Partition 
Dim elementType As Type 
Dim propertyAssignments As PropertyAssignment()
Dim returnValue As ModelElement 

returnValue = instance.CreateElement(partition, _
    elementType, propertyAssignments)
public virtual ModelElement CreateElement(
    Partition partition,
    Type elementType,
    PropertyAssignment[] propertyAssignments
)
public:
virtual ModelElement^ CreateElement(
    Partition^ partition, 
    Type^ elementType, 
    array<PropertyAssignment^>^ propertyAssignments
)
public function CreateElement(
    partition : Partition, 
    elementType : Type, 
    propertyAssignments : PropertyAssignment[]
) : ModelElement

Parameters

  • elementType
    Type: System.Type

    A non-abstract domain class defined in the DSL Definition.

Return Value

Type: Microsoft.VisualStudio.Modeling.ModelElement
The ModelElement that was created.

Remarks

This method is suitable for generated code. In ordinary programming, use the constructor of the domain class.

This example assumes the DSL Definition of the Minimal Language DSL solution template.

Examples

MyDslDomainModel dm = ...;
PropertyAssignment nameProperty = 
    new PropertyAssignment(ExampleElement.NameDomainPropertyId, "element1");
ExampleElement element = dm.CreateElement(
    dm.Store.DefaultPartition, 
    typeof(ExampleElement), 
    new PropertyAssignment[] {nameProperty}
   ) as ExampleElement;

The following example has the same effect:

ExampleElement element1 = new ExampleElement(dm.Store);
element1.Name = "element1";

.NET Framework Security

See Also

Reference

DomainModel Class

DomainModel Members

Microsoft.VisualStudio.Modeling Namespace

Other Resources

Domain Model in the Generated API