DomainModel::CreateElement Method (Partition^, Type^, array<PropertyAssignment^>^)

 

Creates an element of a specified type.

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

public:
virtual ModelElement^ CreateElement(
	Partition^ partition,
	Type^ elementType,
	array<PropertyAssignment^>^ propertyAssignments
)

Parameters

partition
Type: Microsoft.VisualStudio.Modeling::Partition^

The partition where element is to be created.

elementType
Type: System::Type^

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

propertyAssignments
Type: array<Microsoft.VisualStudio.Modeling::PropertyAssignment^>^

Specify values for the domain properties defined for the domain class.

Return Value

Type: Microsoft.VisualStudio.Modeling::ModelElement^

The ModelElement that was created.

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.


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";

Return to top
Show: