XPClassInfo.CreateMember(String, Type, Boolean, Boolean, Attribute[]) Method
Creates a new member metadata.
Namespace: DevExpress.Xpo.Metadata
Assembly: DevExpress.Xpo.v24.1.dll
NuGet Packages: DevExpress.Win.PivotGrid, DevExpress.Win.TreeMap, DevExpress.Xpo
NuGet Package: DevExpress.Xpo
Declaration
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());