Skip to main content
.NET 6.0+

XPClassInfo.CreateMember(String, Type, Boolean, 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,
    bool nonPublic,
    params Attribute[] attributes
)

Parameters

Name Type Description
propertyName String

A String value which specifies the name of the new member. The created member type will be nullable, i.e if you pass bool, the type will be Nullable<bool>.

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.

nonPublic Boolean

true if the new member isn’t public; 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());
See Also