ToString()

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

ToString()

Overrides MfObject.ToString

OutputVar := instance.ToString()

ToString()

Gets a string representation of the object.

Returns

Returns var string value representing name(s) of the corresponding the name of the the current Value.

Throws

Throws MfNullReferenceException if method is called on a non-instance.

Remarks

If MfEnum has MfFlagsAttribute as one of it attributes then ToString() will return one or more names separated by comma. One for each flag that is set. Otherwise there will always be only one name in the return string.

Example

; set var initial value to null
outEnum := MfNull.Null

; wrap in try block as ParseItem can throw MfException
try
{
   outEnum := MfEnum.ToObject(RegOptEnum.GetType(), 4) ; 4 is RegBinary
}
catch e
{
   MsgBox, 16, Error, % "There was an error Parsing Item: " . e.Message
   Exit, 1
}

; Display RegBinary in Msgbox
MsgBox % outEnum.Tostring()

ExitApp

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