Class EnumHelper
A set of functions and extensions for helping to work with an System.Enum
Inheritance
Inherited Members
Namespace: LemonEdge.Utils
Assembly: Utils.dll
Syntax
public static class EnumHelper
Methods
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 |
|---|---|
| System.Collections.Generic.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
Declaration
public static Array GetValues(Type t)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | t | The enum to enumerate all values of |
Returns
| Type | Description |
|---|---|
| System.Array | An enumeration of all items within a specified 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 |
|---|---|
| System.Collections.Generic.IEnumerable<T> | An enumeration of all items within a specified Enum |
Type Parameters
| Name | Description |
|---|---|
| T | The enum to enumerate all values of |
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 |
|---|---|---|
| System.Type | t | The type of the enum |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<EnumWrapper> | An EnumWrapper<T> for each enum value in the specifid enum |
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 |
|---|---|---|
| System.Type | t | The type of the enum |
| System.Type | propType | Optionally converts each enum value to a different type such as an int for compatability in the ui |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<EnumWrapper> | An EnumWrapper<T> for each enum value in the specifid enum |
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 |
|---|---|
| System.Collections.Generic.IEnumerable<EnumWrapper<T>> | An EnumWrapper<T> for each enum value in the specifid enum type |
Type Parameters
| Name | Description |
|---|---|
| T | The type of enum |
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 |
|---|---|---|
| System.Type | enumType | The type of enum to parse |
| System.String | value | The value to parse |
Returns
| Type | Description |
|---|---|
| System.ValueTuple<System.Boolean, System.Object> | A tuple indicating if the parse was valid, and the value if it was |
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 |
|---|---|---|
| System.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 |
|---|---|
| System.ArgumentOutOfRangeException | If the value can not be parsed an error is thrown |
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 |
|---|---|---|
| System.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 |
|---|---|
| System.Boolean | 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
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 |
|---|---|
| System.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 |