Skip to main content
A newer version of this page is available. .

String Properties in XPO

  • 3 minutes to read

The example below illustrates how to implement String Properties in an XPO persistent class.

// By default, the string property size is 100.
private string defaulSizeStringProperty;
public string DefaultSizeStringProperty {
    get { return defaulSizeStringProperty; }
    set { SetPropertyValue("DefaultSizeStringProperty", ref defaulSizeStringProperty, value); }
}
// The string property size is limited to 15.
private string shortSizeStringProperty;
[Size(15)]
public string ShortSizeStringProperty {
    get {
        return shortSizeStringProperty;
    }
        set { SetPropertyValue("ShortSizeStringProperty", ref shortSizeStringProperty, value); }
}
// The string property size is unlimited. It is displayed via a memo editor.
// By default, this property is not displayed in List View. You can make its column visible with the VisibleInListView attribute.
private string unlimitedSizeStringProperty;
[Size(SizeAttribute.Unlimited), VisibleInListView(true)]
public string UnlimitedSizeStringProperty {
    get {
        return unlimitedSizeStringProperty;
    }
    set { 
        SetPropertyValue("UnlimitedSizeStringProperty", ref unlimitedSizeStringProperty, value);
    }
}
// Delayed loading and compression are applied to this property.
private XPDelayedProperty compressedUnlimitedStringProperty = new XPDelayedProperty();
[Delayed("compressedUnlimitedStringProperty"), ValueConverter(typeof(StringCompressionConverter))]
public string CompressedUnlimitedStringProperty {
    get { return (string)compressedUnlimitedStringProperty.Value; }
    set { 
        compressedUnlimitedStringProperty.Value = value;
        OnChanged("CompressedUnlimitedStringProperty");
    }
}
// This property has a list of predefined values.
private string stringWithPredefinedValuesProperty;
[ModelDefault("PredefinedValues", "Predefined Value 1;Predefined Value 2;Predefined Value 3;Predefined Value 4;Predefined Value 5")]
public string StringWithPredefinedValuesProperty {
    get { return stringWithPredefinedValuesProperty; }
    set { stringWithPredefinedValuesProperty = value; }
}
See Also