亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

c#自定義Attribute獲取接口實現示例代碼

發布時間:2020-09-09 09:53:38 來源:腳本之家 閱讀:117 作者:麥葉 欄目:編程語言

一般的接口實現多態

定義接口

 interface Ipeople
 {
  void say();
 }

定義實現的類

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

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

一般實現的方法

c#自定義Attribute獲取接口實現示例代碼

升級版

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

c#自定義Attribute獲取接口實現示例代碼

實現類

c#自定義Attribute獲取接口實現示例代碼

調用方法

 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語句

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。

向AI問一下細節

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

AI

浏阳市| 牟定县| 胶州市| 南投市| 南宫市| 乐东| 荆州市| 潮州市| 景东| 泗水县| 龙口市| 彰化县| 陆川县| 泗阳县| 泸水县| 青岛市| 天津市| 天门市| 云浮市| 顺义区| 拜城县| 莱西市| 武功县| 彭水| 平顺县| 孟州市| 东光县| 鸡东县| 绥阳县| 驻马店市| 怀化市| 沾益县| 得荣县| 辽阳市| 苏尼特左旗| 土默特右旗| 古交市| 武宣县| 鞍山市| 双柏县| 宣化县|