AddEnums()

Namespace ›› System ›› MfEnum ›› Methods ››
Parent Previous Next

AddEnums()

AddEnums()

AddEnums()

Abstract protected method. Call to process adding of new MfEnum values to derived class.

Throws

Throws MfNotImplementedException if not overridden in derived classes.

Remarks

This method is intended to be treated as a Protected method and must be overriden in derived classes.

Example

; 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
   }
}