有关枚举和扩展方法

最近加班好累a...题外话哈

枚举不用多说,介绍下扩展方法:扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。[当然是从msdn拷贝的咯,详情请见~]

扩展方法需定义在静态类中,并且方法本身也应声明为静态的,第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。注意,与接口或类方法具有相同名称和签名的扩展方法永远不会被调用。

举个栗子:

 1     public enum EnumWeekday
 2     {
      
       None, // 不好意思,强行植入None,记住它会有用的
3 Monday, 4 5 TuesDay, 6 7 星期三, // Unicode就是这么自信 8 9 Thursday, 10 11 Friday, 12 } 13 14 // 第二个方法不是扩展方法,一般只将扩展方法放在一个类中 15 // 当然可以将其声明为扩展方法,但不建议 16 static class ExternFunc 17 { 18 /// <summary> 19 /// EnumWeekday枚举的扩展方法 20 /// </summary> 21 public static string ToChinese(this EnumWeekday day) 22 { 23 switch (day) 24 { 25 case EnumWeekday.Monday: 26 return "星期一"; 27 28 case EnumWeekday.TuesDay: 29 return "星期二"; 30 31 default: 32 return day.ToString(); 33 } 34 } 35 36 /// <summary> 37 /// 字符串转枚举 38 /// </summary> 39 public static EnumWeekday String2EnumWeekday(string day) 40 { 41 switch (day) 42 { 43 case "星期一": 44 return EnumWeekday.Monday; 45 46 default: 47 return EnumWeekday.Friday; // 皮一下,反正周末还不是要加班-_- 48 } 49 } 50 }

上面已介绍,像实例方法一样调用扩展方法就欧克了--EnumWeekday friday = EnumWeekday.Friday; Debug.WriteLine("今天是{0}", friday.ToChinese());

转载于:https://www.cnblogs.com/xuanhu/p/9484832.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值