分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

.NET反射用户定义枚举类型

发布时间:2023-09-06 01:34责任编辑:熊小新关键词:.NET

示例代码:

 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms;10 11 namespace ReflectEnumDemo12 {13 ????//.NET支持的对称(私匙加密)算法类型14 ????enum Encriptions15 ????{16 ????????Aes,17 ????????DES,18 ????????RC2,19 ????????Rijndael,20 ????????TripleDES21 ????}22 23 ????public partial class MainForm : Form24 ????{25 ????????public MainForm()26 ????????{27 ????????????InitializeComponent();28 29 ????????????this.Load += (object sender, EventArgs e) =>30 ????????????{31 ????????????????Type type = typeof(Encriptions);32 ????????????????var enumValues = type.GetEnumValues(); ?//获取所有枚举值33 34 ????????????????DataTable dataTable = new DataTable(); ?//表,为了与UI绑定35 ????????????????dataTable.Columns.AddRange(new DataColumn[2] { new DataColumn("Key", typeof(string)), new DataColumn("Value", typeof(int)) }); ?//定义表字段36 37 ????????????????foreach (var item in enumValues)38 ????????????????{39 ????????????????????DataRow dataRow = dataTable.NewRow(); ??//定义行40 ????????????????????dataRow["Key"] = type.GetEnumName(item); ???//列赋值41 ????????????????????dataRow["Value"] = (int)item;42 ????????????????????dataTable.Rows.Add(dataRow); ???//插入行43 ????????????????}44 45 ????????????????//cboShow是一个ComboxBox控件46 ????????????????this.cboShow.DataSource = dataTable; ???//UI数据源,数据源必须是实现IList接口的类型47 ????????????????this.cboShow.ValueMember = "Value";48 ????????????????this.cboShow.DisplayMember = "Key";49 ????????????};50 ????????}51 ????}52 }

执行结果图:

.NET反射用户定义枚举类型

原文地址:https://www.cnblogs.com/handsome1008/p/8179811.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved