怎么把枚举作为参数传递?

qq_31375515 2015-11-24 07:54:15
怎么把枚举作为参数传递?
情景如下:
我定义的枚举
 public enum TimeOfDay
{
Morning=0,
Afternoon=1,
Evening=2
}


怎么样定义一个方法,直接把这个枚举当成参数传递到这个方法里,然后返回对应的值
比如
public string GetValue(Enum ..)


求教
...全文
7589 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_31375515 2015-11-25
  • 打赏
  • 举报
回复
能通过 2 来拿到evning吗
正怒月神 版主 2015-11-25
  • 打赏
  • 举报
回复
枚举值,貌似只能通过 申明的枚举类型来传参。 楼主能通过枚举值的 实际值解决这个问题吗? 就是传入一个 (int)Enum.****
正怒月神 版主 2015-11-25
  • 打赏
  • 举报
回复
引用 9 楼 qq_31375515 的回复:
能通过 2 来拿到evning吗
可以的。但是方法并不通用。 int a = 2; var q = (Test)Enum.Parse(typeof(Test), a.ToString());
byronqiji 2015-11-24
  • 打赏
  • 举报
回复
Afternoon.ToString() 得到Afternoon (int)Afternoon 得到1 并不需要定义一个方法去获取对应枚的举值
本拉灯 2015-11-24
  • 打赏
  • 举报
回复
qq_31375515 2015-11-24
  • 打赏
  • 举报
回复
如果我以后是别的枚举了?
江南小鱼 2015-11-24
  • 打赏
  • 举报
回复
public int GetValue(TimeOfDay tod){ return Convert.ToInt32(tod); }
lovebaby 2015-11-24
  • 打赏
  • 举报
回复
声明枚举,然后在调用的方法签名中声明一个枚举类型的参数即可。
风云再起9310 2015-11-24
  • 打赏
  • 举报
回复
刚刚写的,不知道是否是你需要的,希望可以帮得到你
  public static void Main()
        {
            GetValue(TimeOfDay.Evening);
        }

        public static TimeOfDay GetValue(TimeOfDay time)
        {
          TimeOfDay time2 = (TimeOfDay)Enum.Parse(typeof(TimeOfDay), time.ToString(), true);
            return time2;
        }

        public enum TimeOfDay
        {
            Morning = 0,
            Afternoon = 1,
            Evening = 2
        }
qq_31375515 2015-11-24
  • 打赏
  • 举报
回复
最后在方法里可以根据这个枚举来拿值
TimeOfDay time2 = (TimeOfDay)Enum.Parse(typeof(TimeOfDay), "Morning", true);

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧