mirror of
https://github.com/DarthAffe/RGB.NET.git
synced 2025-12-13 10:08:31 +00:00
22 lines
678 B
C#
22 lines
678 B
C#
using System;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
namespace RGB.NET.Core.Extensions
|
|
{
|
|
public static class EnumExtensions
|
|
{
|
|
/// <summary>
|
|
/// A generic extension method that aids in reflecting
|
|
/// and retrieving any attribute that is applied to an `Enum`.
|
|
/// </summary>
|
|
public static TAttribute GetAttribute<TAttribute>(this Enum enumValue)
|
|
where TAttribute : Attribute
|
|
{
|
|
return enumValue.GetType()
|
|
.GetMember(enumValue.ToString())
|
|
.First()
|
|
.GetCustomAttribute<TAttribute>();
|
|
}
|
|
}
|
|
}
|