亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法獲取枚舉類型的擴展方法

無法獲取枚舉類型的擴展方法

C#
牛魔王的故事 2022-12-24 09:47:16
我遇到的問題是創建擴展方法!public enum TestEnum{    One, Two, Three, Four}public static class EnumExtension{   public static bool TestMethod(this TestEnum e)   {       return false;   }}[TestMethod]public void TestAll(){    var result = TestEnum. ;   //this only gives the values of the enum (One, Two, Three, Four), there is no option to call the extension method}我希望上面代碼中的注釋真的能說明問題——我假設我在做一個巨大的假設并且把它弄錯了。然而,我寧愿通過允許任何枚舉調用此功能來使其更有用。最終目標是這樣的public static IEnumerable<string> ConvertToList(this Enum e){     var result = new List<string>();     foreach (string name in Enum.GetNames(typeof(e)))    //doesn't like e     {         result.Add(name.ToString());     }     return result;}
查看完整描述

2 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

擴展方法不直接作用于類型,而是作用于該類型的值。

所以像

TestEnum Val = TestEnum One;
 var b = Val.TestMethod();


查看完整回答
反對 回復 2022-12-24
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

如果您需要 中所有枚舉的列表List<string>,那么您可以嘗試類似

List<string> enumList = Enum.GetNames(typeof(TestEnum)).ToList();

這將返回包含的字符串列表

  //"One", "Two", "Three", "Four"

http://img1.sycdn.imooc.com//63a65a480001945703780286.jpg

查看完整回答
反對 回復 2022-12-24
  • 2 回答
  • 0 關注
  • 133 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號