Search Results for

    Show / Hide Table of Contents

    Class EnumHelper

    A set of functions and extensions for helping to work with an Enum

    Inheritance
    object
    EnumHelper
    Inherited Members
    object.GetType()
    object.MemberwiseClone()
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    Namespace: LemonEdge.Utils
    Assembly: LemonEdge.Utils.dll
    Syntax
    public static class EnumHelper

    Methods

    GetCustomEnumValue(string, short)

    Returns a value for a specified custom list.

    Declaration
    public static object GetCustomEnumValue(string enumName, short value)
    Parameters
    Type Name Description
    string enumName

    The name of the enum/custom list only. The system will prefex LemonEdge.Entities to it.

    short value

    The short value for the enum value to return

    Returns
    Type Description
    object

    GetEnumValue(object)

    Returns the value of the specified enum value

    Can be the value tiself, or if it has a specified enum value uses that instead, from API.Entities.ICustomListItem.EnumValue

    Declaration
    public static decimal GetEnumValue(object value)
    Parameters
    Type Name Description
    object value

    The enum value

    Returns
    Type Description
    decimal

    The value of the specified enum value

    GetEnumValueFromDisplayName(string, string)

    Convert a string to an enum value, using the enum's DisplayAttribute values.

    Declaration
    public static object GetEnumValueFromDisplayName(string displayName, string typeName)
    Parameters
    Type Name Description
    string displayName

    If you give the attribute to the enum member like [Display(name="someName")] then you can just pass someNameDisplayAttribute

    string typeName

    A type name string of the enum

    Returns
    Type Description
    object

    GetEnumValueFromDisplayName<T>(string)

    Convert a string to an enum value, using the enum's DisplayAttribute values.

    Declaration
    public static T GetEnumValueFromDisplayName<T>(string displayName) where T : Enum
    Parameters
    Type Name Description
    string displayName

    If you give the attribute to the enum member like [Display(name="someName")] then you can just pass someNameDisplayAttribute

    Returns
    Type Description
    T
    Type Parameters
    Name Description
    T

    Type of enum

    Exceptions
    Type Condition
    ArgumentException

    GetOrderedValues(Type)

    Returns an array of all items within a specified Enum ordered by value

    Declaration
    public static Array GetOrderedValues(Type t)
    Parameters
    Type Name Description
    Type t

    The enum to enumerate all values of

    Returns
    Type Description
    Array

    An enumeration of all items within a specified Enum

    GetShortFlaggedValues<T>(T)

    Returns all enum values that total the specified enum value

    Declaration
    public static IEnumerable<T> GetShortFlaggedValues<T>(this T value) where T : Enum
    Parameters
    Type Name Description
    T value

    The value to return as a combination of smaller bitwise values

    Returns
    Type Description
    IEnumerable<T>

    All enum values that total the specified enum value

    Type Parameters
    Name Description
    T

    The type of enum

    Remarks

    For example:

    public enum MyEnum : short 
    {
        Left = 1,
        Right = 2,
        Up = 4,
        Down = 8,
    
        Vertical = 12
    }
    
    public class Example
    {
        public void GetVertical()
        {
            var vertical = MyEnum.Vertical;
            foreach (var dir in vertical.GetShortFlaggedValues())
            {
                switch (dir)
                {
                    //matches these two
                    case MyEnum.Up: break;
                    case MyEnum.Down: break;
    
                    default:
                        //no other value is enumerated
                        break;
                }
            }
        }
    }

    GetValues(Type)

    Returns an array of all items within a specified Enum ordered alphabetically

    Declaration
    public static Array GetValues(Type t)
    Parameters
    Type Name Description
    Type t

    The enum to enumerate all values of

    Returns
    Type Description
    Array

    An enumeration of all items within a specified Enum

    GetValuesWithTooltips(Type)

    Returns an EnumWrapper<T> for each enum value in the specifid enum t type

    Declaration
    public static IEnumerable<EnumWrapper> GetValuesWithTooltips(Type t)
    Parameters
    Type Name Description
    Type t

    The type of the enum

    Returns
    Type Description
    IEnumerable<EnumWrapper>

    An EnumWrapper<T> for each enum value in the specifid enum t type

    GetValuesWithTooltips(Type, Type)

    Returns an EnumWrapper<T> for each enum value in the specifid enum t type

    Declaration
    public static IEnumerable<EnumWrapper> GetValuesWithTooltips(Type t, Type propType)
    Parameters
    Type Name Description
    Type t

    The type of the enum

    Type propType

    Optionally converts each enum value to a different type such as an int for compatability in the ui

    Returns
    Type Description
    IEnumerable<EnumWrapper>

    An EnumWrapper<T> for each enum value in the specifid enum t type

    GetValuesWithTooltips<T>()

    Returns an EnumWrapper<T> for each enum value in the specifid enum type

    Declaration
    public static IEnumerable<EnumWrapper<T>> GetValuesWithTooltips<T>() where T : Enum
    Returns
    Type Description
    IEnumerable<EnumWrapper<T>>

    An EnumWrapper<T> for each enum value in the specifid enum type

    Type Parameters
    Name Description
    T

    The type of enum

    GetValues<T>()

    Returns an enumeration of all items within a specified Enum

    Declaration
    public static IEnumerable<T> GetValues<T>() where T : Enum
    Returns
    Type Description
    IEnumerable<T>

    An enumeration of all items within a specified Enum

    Type Parameters
    Name Description
    T

    The enum to enumerate all values of

    Parse(Type, string)

    Parses the specified string representation of an enum value and returns if it was valid, and the value

    Declaration
    public static (bool Valid, object? Result) Parse(Type enumType, string value)
    Parameters
    Type Name Description
    Type enumType

    The type of enum to parse

    string value

    The value to parse

    Returns
    Type Description
    (bool Valid, object Result)

    A tuple indicating if the parse was valid, and the value if it was

    ParseAsShortID<T>(Guid, out T)

    Parses the given guid that holds the equivelant of a short value representing a value in the specified enum T type

    Declaration
    public static bool ParseAsShortID<T>(this Guid id, out T intID) where T : struct, Enum
    Parameters
    Type Name Description
    Guid id

    The short guid to try to parse and convert into an enum value

    T intID

    If the guid was correctly parsed into an enum value this is the value returned

    Returns
    Type Description
    bool

    True if the guid was valid and could be converted to the specified enum type

    Type Parameters
    Name Description
    T

    The type of the enum to retrieve from the specified guid short value

    See Also
    LemonEdge.Utils.EnumHelper.ToShortGuid(System.Int32)

    Parse<T>(string)

    Parses an enum string representation and returns the enum value

    Declaration
    public static T Parse<T>(string value) where T : struct, Enum
    Parameters
    Type Name Description
    string value

    The string representation of an enum value to parse

    Returns
    Type Description
    T

    The enum value

    Type Parameters
    Name Description
    T

    The enum value

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    If the value can not be parsed an error is thrown

    ToSafeString(string)

    Returns a safe string representation of an enum value

    Declaration
    public static string ToSafeString(string enumName)
    Parameters
    Type Name Description
    string enumName
    Returns
    Type Description
    string

    ToShortGuid<T>(T)

    Returns the value of an enum as a guid. This is used by LemonEdge for enum values that can also be represented by custom items holding a unique ID, such as images ImageType

    Declaration
    public static Guid ToShortGuid<T>(this T i) where T : Enum
    Parameters
    Type Name Description
    T i

    The value of an enum to be converted to a guid equivelant

    Returns
    Type Description
    Guid

    The value of an enum as a guid. This is used by LemonEdge for enum values that can also be represented by custom items holding a unique ID, such as images ImageType

    Type Parameters
    Name Description
    T

    The enum type

    See Also
    ParseAsShortID<T>(Guid, out T)

    ToValidEnumMember(string, int)

    returns a C# valid enum member name from the given name

    Declaration
    public static string ToValidEnumMember(string name, int index)
    Parameters
    Type Name Description
    string name

    potential enum member name

    int index

    the index/order of the enum member

    Returns
    Type Description
    string
    In this article
    Back to top © LemonEdge Technologies. All rights reserved.