91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c#中怎么通過自定義Attribute獲取接口

發布時間:2021-06-25 16:22:51 來源:億速云 閱讀:330 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關c#中怎么通過自定義Attribute獲取接口,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

一般的接口實現多態

定義接口

interface Ipeople {  void say(); }

定義實現的類

public class man : Ipeople {  public void say()  {   MessageBox.Show("man");  } } public class woman : Ipeople {  public void say()  {   MessageBox.Show("woman");  } }

一般實現的方法

升級版

添加自定義(這個網上好多)

實現類

調用方法

private static void NewMethod(string tpye)  {   Ipeople ib = null;   var types = AppDomain.CurrentDomain.GetAssemblies()      .SelectMany(a => a.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(Ipeople))))      .ToArray();   foreach (var v in types)   {    var attribute = v.GetCustomAttributes(typeof(NameAttribute), false).FirstOrDefault();    if (attribute != null && ((NameAttribute)attribute).Name == tpye)    {     ib = (Ipeople)v.Assembly.CreateInstance(v.FullName);     break;    }   }   if (ib != null) ib.say();  }

這個可以避免需要維護swich語句

看完上述內容,你們對c#中怎么通過自定義Attribute獲取接口有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌江| 手机| 望奎县| 车险| 江阴市| 紫金县| 梁平县| 衡阳市| 太康县| 乌拉特后旗| 应用必备| 澄迈县| 富平县| 绍兴县| 巴马| 扬中市| 乌拉特中旗| 应用必备| 四会市| 康平县| 蚌埠市| 茶陵县| 德保县| 丽江市| 大厂| 北辰区| 崇义县| 华蓥市| 自治县| 图木舒克市| 江华| 天气| 渝北区| 贺州市| 闻喜县| 吉木萨尔县| 岑溪市| 兖州市| 浙江省| 宣威市| 泰宁县|