OutputVar := new MfEnum()
OutputVar := new MfEnum(num)
OutputVar := new MfEnum(instanceEnum)
OutputVar := new MfEnum(enumItem1, enumItem2, enumItem3, ...)
Creates a new instance derived from MfEnum class and set initial value to zero.
Creates a new instance derived from MfEnum class and sets initial value to value of num.
Creates a new instance derived from MfEnum class an set the intial value to the value of instanceEnum.
Creates a new instance of derived class and set its value to the MfEnum.EnumItem instance value.
num
A value representing the current selected MfEnum.EnumItem value(s) of the derived class.
instanceEnum
an instance of derived class whose value is used to construct this instance.
enumItem
MfEnum.EnumItem value must element of this instance
All Constructors are abstract as MfEnum is a abstract class and must be extended.
Throws MfNotSupportedException if this sealed class is extended or inherited.
Throws MfArgumentException if arguments are not correct.
; create a new enumeration class by inheriting/extending the MfEnum
class RegOptEnum extends MfEnum
{
static m_Instance := MfNull.Null
__New(args*)
{
if (this.base.__Class != "RegOptEnum")
{
throw new MfNotSupportedException(MfEnvironment.Instance.GetResourceString("NotSupportedException_Sealed_Class"
,"RegOptEnum"))
}
base.__New(args*)
; set MfObject m_isInherited flag for testing if Class is inherited/extended if needed
; This could be set to false as this class cannot be inherited/extended as set in this constructor above
; but will do it the standard way.
this.m_isInherited := this.__Class != "RegOptEnum"
}
; override the base AddEnums, this is required
; add all the enum values for your enum here
AddEnums() {
this.AddEnumValue("RegDword", 0)
this.AddEnumValue("KeysRegDword", 1)
this.AddEnumValue("RegSz", 2)
this.AddEnumValue("KeysRegSz", 3)
this.AddEnumValue("RegBinary", 4)
this.AddEnumValue("KeysRegBinary", 5)
this.AddEnumValue("AutoresponseRegSz", 6)
this.AddEnumValue("KeysAutoresponseRegSz", 7)
this.AddEnumValue("AutoupdateRegSz", 8)
this.AddEnumValue("KeysAutoupdateRegSz", 9)
this.AddEnumValue("AutoupdateRegBinary", 10)
this.AddEnumValue("KeysAutoupdateRegBinary", 11)
this.AddEnumValue("KeypathsRegSz", 12)
this.AddEnumValue("KeysKeypathsRegSz", 13)
this.AddEnumValue("KeypathsRegDword", 14)
this.AddEnumValue("KeysKeypathsRegDword", 15)
this.AddEnumValue("WindowplacementRegBinary", 16)
this.AddEnumValue("KeysWindowplacementRegBinary", 17)
}
; override the base DestroyInstance, this is required
DestroyInstance() {
RegOptEnum.m_Instance := Null
}
; override the base GetInstance, this is required
; Get a static default instance, create if not exist yet
GetInstance() {
if (MfNull.IsNull(RegOptEnum.m_Instance))
{
RegOptEnum.m_Instance := new RegOptEnum(0)
}
return RegOptEnum.m_Instance
}
}