[Obsolete("请使用新的方法XXX")] //使用Obsolete特性来告诉使用者这是一个过期的方法 private static void Test() { Type t = typeof(ApprovalStatus); var fields = t.GetFields(); foreach (var item in fields) { if (!item.IsSpecialName) { var attr = item.GetCustomAttribute(typeof(…
C#中可以对枚举类型用Description特性描述. 如果需要对Description信息获取,那么可以定义一个扩展方法来实现.代码如下: public static class EnumExtensions { public static string GetDescription(this object value) { if (value==null) return string.Empty; Type type = value.GetType(); var fieldInfo = ty…
一般情况我们会用枚举类型来存储一些状态信息,而这些信息有时候需要在前端展示,所以需要展示中文注释描述. 为了方便获取这些信息,就封装了一个枚举扩展类. /// <summary> /// 枚举扩展类 /// </summary> public static class EnumExtension { /// <summary> /// 获取枚举的描述,需要DescriptionAttribute属性 /// </summary> /// <param…
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace candel { class Program { static void Main(string[] args) { int x = (in…
一.两个实体数据转换 /// <summary> /// 为属性赋值 /// </summary> /// <typeparam name="T">源单类</typeparam> /// <typeparam name="S">需要转换的实体类</typeparam> /// <param name="source"></param> /// <…
@Author: 白袍小道 转载请说明     案例一:蓝图传递任意Struct ,导出struct的相关属性 相关: 1.宏:DECLARE_FUNCTION: 此宏用于在自动生成的样板代码中声明thunk函数 2.通配符检查:CustomThunk.CustomStructureParam 3.FFRame (ObjectMacros.h)     结果:         代码: .说明 其中通过CustomStructureParam和CustomThunk ,Declare_FUN实现通…
关键代码: using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Reflection; namespace CSharpUtilHelpV2 { /// <summary> /// 基于.NET 2.0的枚举工具类 /// </summary> public static class EnumToolV2…
方法类: public static class EnumExtensions { #region Enum /// <summary> /// 获取枚举变量值的 Description 属性 /// </summary> /// <param name="obj">枚举变量</param> /// <returns>如果包含 Description 属性,则返回 Description 属性的值,否则返回枚举变量值的名称&l…
我正在做一个出入库管理的简单项目,在Models里定义了这样的枚举类型 public enum InOrOut { [Description("出库")] Out = , [Description("入库")] In = } 我想在输入参数为数据库字段值1或者0的时候,在页面上显示为枚举Name:In.Out,或者干脆显示为Description:出库.入库. 获取枚举Name其实很简单: return Enum.GetName(typeof(InOrOut), v…
实际上本章就只讲枚举类型,因为位标志本来就可以当做一个特殊的枚举类型. 关于枚举类型 枚举类型是一种消灭魔法数字的好方法,使程序更容易编写,阅读和维护. 枚举类型是值类型,然而有别于其它值类型,枚举类型不能定义任何方法.除非用扩展方法. 然而正如我之前说到的,也许当你想用扩展方法的时候可以先考虑一下这个地方是否还适合用枚举类型,又或者这个方法是否适合加在这个枚举类型中. 在编译枚举类型时,C#编译器已经将每个符号转换成了类型的一个常量字段. C#默认容纳一个枚举类型的值的基础类型为int,而实际…
在实际开发项目中,我们定义了一个枚举,往往我们需要在下拉框或其它地方展示枚举.为了加深印象,也为了帮到有需要的人,我写了一个DEMO. 第一步,我们定义一个枚举: /// <summary> /// 测试枚举 /// </summary> public enum EnumStatus { [Description("状态1")] A = , [Description("状态2")] B = , [Description("状态3&q…
)             {                 ] >=  && ipvals[] <=                  && ipvals[] >=  && ipvals[] <=                  && ipvals[] >=  && ipvals[] <=                  && ipvals[] >=  &…
如图所示这个竞卖状态,原先是在前端界面通过html代码写死的几个状态,现在需要改为动态加载.这个几个状态是定义的枚举类型. 1:定义一个枚举类型 /// <summary>    /// 资源状态    /// </summary>    public enum ResourceState    {        /// <summary>        /// 下架        /// </summary>        [Description(&qu…
目录 1 枚举类的编译特性 2 向枚举类中添加方法 3 接口内部创建枚举 4 枚举类中使用枚举 5 扩展: 验证values()不是通过父类继承的 本文转载自博客 - Java枚举类型, 博主对原文内容及结构作了一定的修改. 1 枚举类的编译特性 从JDK 5开始, Java中多了一个关键字--enum: 可以将一组具有名称的值(包括String.Integer等)的有限集合创建为一种新的类型, 而这些具名的值可以作为常规的程序组件使用. 这些具名的值称为枚举值, 这种新的类型称为枚举类型. 下…
使用示例: using System.ComponentModel; namespace SchoolEnterpriseManageSys.Enum { /// <summary> /// 申报级别 /// </summary> public enum ReportLevel : int { /// <summary> /// 校 /// </summary> [Description("校")] School = , /// <…
枚举类型 枚举类型(enumerated types)定义了一组"符号名称/值"配对.例如,以下Color类型定义了一组符号,每个符号都标识一种颜色: internal enum Color { While, //赋值0 Red, //赋值1 Green, //赋值2 Blue, //赋值3 Orange //赋值4 } 使用枚举类型的好处: 1)枚举类型使程序更容易编写.阅读和维护.有了枚举类型,符号名称可在代码中随便使用,开发人员不需要记住每个硬编码的含义.而且,一旦与符号名称对应…
枚举类 public enum Sex { man("M","男"),woman("W","女"); private String myCode; private String value; private Sex(String myCode, String value) { this.myCode = myCode; this.value = value; } public String getMyCode() { retu…
参考: http://www.cnblogs.com/an-wl/archive/2011/04/14/2015815.html 惯例先上MSDN: https://msdn.microsoft.com/zh-cn/library/cc138362(v=vs.110).aspx 枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一种有效的方法.例如,假设您必须定义一个变量,该变量的值表示一周中的一天.该变量只能存储七个有意义的值.若要定义这些值,可以使用枚举类型.枚举类型是使用en…
原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-import.html#1.2.values方法的使用: Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由arthinking发表于4年前 | Java基础 | 暂无评论 |  被围观 8,332 views+ 1.枚举(Enum):1.1.枚举类型中的两个静态方法:1.2.values方法的使用:…
自定义枚举类型中,假如我们有name和desc这样的属性,并在这个基础上定义了多个对象. 那么就可能用到通过name获取desc,或者通过desc获取name.通过name或者desc获取对应的枚举对象的名称或ordinal等等. 我们可以定义一个接口,所有的枚举类型都实现这个接口,这样使用会更方便. 直接上代码,看看如何方便的操作这些需求. 定义一个接口: package com.xjl456852.myenum; /** * Created by xiejianglei on 2017/1/…
枚举 一.枚举类型具体说明 简单的说.Enum一般用来表示一组同样类型的常量. 如性别.日期.月份.颜色等.对这些属性用常量的优点是显而易见的,不仅能够保证单例,且在比較的时候能够用"=="来替 换equals.JDK1.5之前没有Enum这个类型,那时候一般用接口常量来替代. 定义枚举类型时本质上就是在定义一个类别.仅仅只是非常多细节由编译器帮您完毕了.所以某些程度上,enum是一个keyword,它的作用就像是class或interface.(这就是为什么有些人找不到当中的valu…
1.枚举类型的声明 格式为: enum 枚举类型名{ 常量1,常量2,常量3 } 如: enum Number{ one,two,three,four,five    //常量} 注意:enum内装的是常量,且当设置常量结束时不要在末尾加上分号. 2.枚举类型变量 在声明了一个枚举类型后,就可以用该枚举类型声明一个枚举类型变量.值得注意的是枚举变量只能取枚举类型中的常量,通过使用枚举类型名和"."运算符获取枚举类型中的变量. 格式为: 枚举类型名 枚举类型变量名 = 枚举类型名.枚举类…
1. Java中的线程安全 Java线程安全:狭义地认为是多线程之间共享数据的访问. Java语言中各种操作共享的数据有5种类型:不可变.绝对线程安全.相对线程安全.线程兼容.线程独立 ① 不可变 不可变(Immutable) 的对象一定是线程安全的,不需要再采取任何的线程安全保障措施. 只要能正确构建一个不可变对象,该对象永远不会在多个线程之间出现不一致的状态. 多线程环境下,应当尽量使对象成为不可变,来满足线程安全. 实现不可变=========> 如果共享数据是基本数据类型,使用final…
原文:C# 获取与解析枚举类型的 DescriptionAttribute System.ComponentModel.DescriptionAttribute 这个 Attribute,经常被用来为属性或事件提供说明,这个说明是可以被本地化的.在一些用户界面中,就可以利用这个 Attribute 提供一些额外的信息,就像 Visual Studio 中所做的,如图 1 所示: 图 1 可以看到,对 AutoSizeMode 的说明,被显示在了下面的框中. 但是,界面中的枚举项就没这么好的待遇了…
/// <summary> /// 获取枚举值上的Description特性说明 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <param name="obj">枚举值</param> /// <returns></returns> public static string GetDescript…
反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的名称.限定符和参数等.有了反射,即可对每一个类型了如指掌.如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道. 1..NET可执行应用程序结构 程序代码在编译后生成可执行的应用,我们首先要了解这种可执行应用程序的结构. 应用程序结构分为应用程序域—程序集—模块—类型—成员…
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.ComponentModel;using System.Reflection; public partial class EnumTest : System.Web.UI.Page{    /// <summ…
首先需要从内部了解一下枚举(Enumeration),相信许多人已经知道了,当我们声明一个这样的枚举类型: enumMyEnum { AAA, BBB, CCC } 背后的IL是这样的: .classprivate auto ansi sealed MyEnum extends [mscorlib]System.Enum { ) ) ) .field public specialname rtspecialname int32 value__ } 那没,其实枚举中的常量都是静态的字段.而枚举对象…
首先需要从内部了解一下枚举(Enumeration),相信许多人已经知道了,当我们声明一个这样的枚举类型: enum MyEnum { AAA, BBB, CCC } 背后的IL是这样的: .class private auto ansi sealed MyEnum extends [mscorlib]System.Enum { .field public static literal valuetype Mgen.MyEnum AAA = int32(0) .field public stat…