---
title: MetaField class
slug: commerce-connect-14/docs/metafield-class
docTags: 
createdAt: 2026-07-23T10:25:33.361Z
---

A MetaField object represents a meta-class field. Fields represent information that an object contains. Fields are like variables because they can be directly read or set. For example, if you have an object named *Car*, you can store its color in a field named *Color*.

:::hint{type="info"}
**Note**
When you create and delete meta-enums, remember that you can only modify a meta-model in **Design** mode. See the [MetaClassManager class](docId\:XpsBh-h7koX2T58Pi3tIk) section.
:::

From the MetaField object, you can get complete information about fields:

- Name
- meta-Type
- Default Value
- Formula for auto-calculated columns
- Is Nullable
- Is ReadOnly
- Is Primary Key

:::hint{type="info"}
**Note**
Business Foundation (BF) uses a meta-field installer assigned to the meta-type to add meta-fields to meta-classes.
:::

## Get a meta-field collection

The collection of meta-fields is available from the MetaClass.Fields property and it returns a MetaFieldCollectionobject.

**Example:** The following example writes all fields to trace

```csharp
foreach (MetaField field in mc.Fields)
      {
        System.Diagnostics.Trace.WriteLine(field.Name);
      }
```

## Create a meta-field

Call the CreateMetaField method of the MetaClass class, passing name, friendly name, type, is nullable flag, default value and attributes to create a new meta-field. The attributes depend on the meta-type.

**Example:** Create a new Guid meta-field

```csharp
public MetaField CreateGuid(string name, string friendlyName, bool isNullable)
    {
    if (name == null)
    throw new ArgumentNullException("name");
    if (friendlyName == null)
    throw new ArgumentNullException("friendlyName");
    AttributeCollection attr = new AttributeCollection();
    string defaultValue = isNullable ? string.Empty : "newid()";
    MetaField retVal = this.MetaClass.CreateMetaField(name, friendlyName, MetaFieldType.Guid, isNullable, defaultValue, attr);
    return retVal;
    }
```

## Delete a meta-field

Call the DeleteMetaField method of the MetaClass class, passing the meta-field object, to delete a field from the meta-class.

**Example:** Find column by name and drop

```csharp
// Delete field
    mc. DeleteMetaField(mc.Fields\["Book Title"]);
```
