mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-05-27 16:42:03 +00:00
28 lines
835 B
C#
28 lines
835 B
C#
using System;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using Octokit.Internal;
|
|
|
|
namespace Octokit
|
|
{
|
|
static class EnumExtensions
|
|
{
|
|
[SuppressMessage("Microsoft.Globalization", "CA1308:NormalizeStringsToUppercase")]
|
|
internal static string ToParameter(this Enum prop)
|
|
{
|
|
if (prop == null) return null;
|
|
|
|
var propString = prop.ToString();
|
|
var member = prop.GetType().GetMember(propString).FirstOrDefault();
|
|
if (member == null) return null;
|
|
|
|
var attribute = member.GetCustomAttributes(typeof(ParameterAttribute), false)
|
|
.Cast<ParameterAttribute>()
|
|
.FirstOrDefault();
|
|
|
|
return attribute != null ? attribute.Value : propString.ToLowerInvariant();
|
|
}
|
|
}
|
|
}
|