Skip to main content
.NET 8.0+

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

Creates a new member metadata.

Namespace: DevExpress.Xpo.Metadata

Assembly: DevExpress.Xpo.v24.2.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