c# 枚举帮助类

ublic class EnumHelper
    {
        #region 返回枚举对应属性

        /// <summary>
        /// 返回枚举对应属性
        /// </summary>
        /// <typeparam name="T">枚举类</typeparam>
        /// <returns></returns>
        public static List<Model.EnumType> EnumToList<T>()
        {
            List<Model.EnumType> list = new List<Model.EnumType>();

            var items = Enum.GetValues(typeof(T));
            foreach (var item in items)
            {
                Model.EnumType entity = new Model.EnumType();
                object[] obj = item.GetType().GetField(item.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true);
                if (obj != null && obj.Length > 0)
                {
                    DescriptionAttribute da = obj[0] as DescriptionAttribute;
                    entity.Desction = da.Description;
                }

                entity.Value = Convert.ToInt32(item);
                entity.Name = item.ToString();
                list.Add(entity);
            }
            return list;
        }
        #endregion

        #region  获取枚举类型描述

        /// <summary>
        /// 获取枚举类型描述
        /// </summary>
        /// <param name="enumValue">枚举值</param>
        /// <returns></returns>
        public static string GetEnumDescription(Enum enumValue)
        {
            string str = enumValue.ToString();
            System.Reflection.FieldInfo field = enumValue.GetType().GetField(str);
            object[] objs = field.GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false);
            if (objs == null || objs.Length == 0) return str;
            System.ComponentModel.DescriptionAttribute da = (System.ComponentModel.DescriptionAttribute)objs[0];
            return da.Description;
        }
        #endregion

        #region 字符串转枚举

        /// <summary>
        /// 字符串转枚举
        /// </summary>
        /// <typeparam name="T">枚举类型</typeparam>
        /// <param name="value">名称</param>
        /// <returns></returns>
        public static T StringToEnum<T>(string value)
        {
            var obj = (T)Enum.Parse(typeof(T), value, false);
            return obj;
        }
        #endregion
    }

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,可以使用枚举来表示一组相关的常量。在与SolidWorks(SW)的结合使用中,可以使用SolidWorks.Interop.swconst命名空间中的枚举对象来表示SW中的各种属性、选项和操作。 例如,可以使用SolidWorks.Interop.swconst.swFileLoadWarning_e枚举来处理在加载SW文件时可能出现的警告。可以使用SolidWorks.Interop.swconst.swSaveAsVersion_e枚举来指定保存SW文件的版本。 以下是一个简单的示例,展示了如何在C#中使用SW枚举: ```csharp using SolidWorks.Interop.sldworks; using SolidWorks.Interop.swconst; public class SWEnumExample { public void Example() { SldWorks swApp = new SldWorks(); ModelDoc2 swModel = swApp.ActiveDoc; // 使用枚举对象获取SW文件的版本 swModel.SaveAs("C:\\Path\\to\\Save\\File.sldprt", (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swFileSaveWarning_e.swFileSaveWarningNone); // 使用枚举对象处理加载文件时的警告 swModel = swApp.OpenDoc("C:\\Path\\to\\Load\\File.sldprt", (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", 0, 0); if (swModel != null) { if (swModel.GetLoadStatus() == (int)swLoadStatus_e.swLoadStatus_Error) { swModel.Close(); // 处理加载错误 } } } } ``` 在上述示例中,我们使用了SolidWorks.Interop.swconst命名空间中的枚举对象来指定保存和加载SW文件时的选项和操作。通过将枚举对象转换为整数型,我们可以将其作为参数传递给相应的SW方法。 请注意,为了使用SW枚举,需要在项目中添加对SolidWorks.Interop.swconst.dll的引用,如前面提到的引用\[1\]中所述。 希望这个示例能够帮助你理解如何在C#中使用SW枚举。如果你有任何进一步的问题,请随时提问。 #### 引用[.reference_title] - *1* [基于C#语言进行SW二次开发示例](https://blog.csdn.net/weixin_42165187/article/details/96906505)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [C# FileStream简单介绍和使用](https://blog.csdn.net/BYH371256/article/details/89331814)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值