51 lines
1.3 KiB
C#
51 lines
1.3 KiB
C#
using System;
|
|
using System.ComponentModel;
|
|
using System.Reflection;
|
|
// ReSharper disable All
|
|
|
|
namespace RBFMorphing
|
|
{
|
|
[Serializable]
|
|
public enum EnumMorphMethod
|
|
{
|
|
[Description("未知")]
|
|
None = 0,
|
|
[Description(@"零件")]
|
|
Part = 1,
|
|
[Description(@"单元集合")]
|
|
ElementSet = 2,
|
|
[Description(@"节点集合")]
|
|
NodeSet = 3,
|
|
[Description(@"面集合")]
|
|
Surface = 4,
|
|
[Description(@"导入节点")]
|
|
ImportFile = 5,
|
|
[Description(@"测试")]
|
|
Dummy = 255,
|
|
}
|
|
|
|
public static class EnumExtensions
|
|
{
|
|
public static string Description(this Enum value)
|
|
{
|
|
if (value == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(value));
|
|
}
|
|
|
|
string description = value.ToString();
|
|
|
|
FieldInfo fieldInfo = value.GetType().GetField(description);
|
|
var attributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
|
|
|
|
// ReSharper disable once ConditionIsAlwaysTrueOrFalse
|
|
if (attributes != null && attributes.Length > 0)
|
|
{
|
|
description = attributes[0].Description;
|
|
}
|
|
|
|
return description;
|
|
}
|
|
}
|
|
}
|