真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴展宣傳的重要窗口,一個合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,成都創(chuàng)新互聯(lián)面向各種領(lǐng)域:成都水泥攪拌車成都網(wǎng)站設(shè)計、成都全網(wǎng)營銷推廣解決方案、網(wǎng)站設(shè)計等建站排名服務(wù)。


一般的接口實現(xiàn)多態(tài)

定義接口

interface Ipeople {  void say(); }

定義實現(xiàn)的類

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

一般實現(xiàn)的方法

升級版

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

實現(xiàn)類

調(diào)用方法

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

看完上述內(nèi)容,你們對c#中怎么通過自定義Attribute獲取接口有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


文章名稱:c#中怎么通過自定義Attribute獲取接口
當(dāng)前網(wǎng)址:http://weahome.cn/article/gshooj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部