繁体   English   中英

C#枚举中的方法

[英]Methods in c# enums

在Java中,我们可以使用枚举中的方法,例如我可以编写

 public static void main(String []args){
    System.out.println(GetNum.TWO.get());
 }

 enum GetNum{
     ONE{
         public int get(){
             return 1;
         }
     },
     TWO{
         public int get(){
             return 2;
         }
     };
     public abstract int get();
 }

也许有人可以说:在C#枚举中,我可以做这样的事情吗?

并非如此,但是您可以使用扩展方法。

给定一个枚举

enum HurfDurf
{
    Hurr,
    Durr
}

您可以创建一个扩展方法,例如

static class HurfDurfExtensions
{
    public static string Wat(this HurfDurf lol)
    {
        return lol == HurfDurf.Hurr ? "Wew lad" : "eyy boss";
    }
}

并像这样使用

var whatisthisidonteven = HurfDurf.Hurr.Wat();

不,你不能。 在背景enum是值类型(例如,仅是一个int)。

例如,你可以做int i = (int)yourEnum; 反之亦然。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM