Skip to main content
.NET 6.0+

XPClassInfo.CreateMember(String, Type, Boolean, Attribute[]) Method

Creates a new member metadata.

Namespace: DevExpress.Xpo.Metadata

Assembly: DevExpress.Xpo.v24.1.dll

NuGet Package: DevExpress.Xpo

Declaration

public XPCustomMemberInfo CreateMember(
    string propertyName,
    Type propertyType,
    bool nonPersistent,
    params Attribute[] attributes
)

Parameters

Name Type Description
propertyName String

A String value which specifies the name of the new member.

propertyType Type

A Type descendant which represents the type of the new member. The created member type will be nullable, i.e if you pass bool, the type will be Nullable<bool>.

nonPersistent Boolean

true if the new member is not persistent; otherwise, false.

attributes Attribute[]

An array of Attribute objects that represent the attributes of the new member.

Returns

Type Description
XPCustomMemberInfo

An XPCustomMemberInfo descendant which provides the new member’s metadata.

Remarks

The CreateMember method allows custom members to be created dynamically.

Example

The following sample code shows how to create custom fields using the XPClassInfo.CreateMember method.

using DevExpress.Xpo;
using DevExpress.Xpo.Metadata;
// ...

XPClassInfo customerClassInfo = Session.DefaultSession.GetClassInfo(typeof(Customer));
customerClassInfo.CreateMember("Name", typeof(string));
customerClassInfo.CreateMember("CompanyName", typeof(string));
// Set the nonPersistent parameter to true for collection properties
customerClassInfo.CreateMember("Orders", typeof(XPCollection), true, 
    new AssociationAttribute("CustomerOrders", typeof(Order)), new AggregatedAttribute());

The following code snippets (auto-collected from DevExpress Examples) contain references to the CreateMember(String, Type, Boolean, Attribute[]) method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also