Files
wg_cpso/RBFMorphing/EnumMorphMethod.cs
2026-03-25 18:20:24 +08:00

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;
}
}
}