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

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

c#如何實現(xiàn)委托中異常的處理-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)c#如何實現(xiàn)委托中異常的處理,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè),成都做網(wǎng)站公司-創(chuàng)新互聯(lián)已向數(shù)千家企業(yè)提供了,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗,合理的價格為您打造企業(yè)品質(zhì)網(wǎng)站。

   基本委托寫法: public delegate double Mathresult(double number);

public class MyMath

{

   public static double mathNumber(double number)

   {

       return number*2;

   }

}

使用:

       Mathresult m=MyMath. mathNumber;

       Console.Write(m(5));

       輸出結(jié)果:10

在委托中,系統(tǒng)提供了2種定義好的委托方法; Action和Func.

他們的區(qū)別是:Action不能有返回值,F(xiàn)unc可以有返回值。

例如:用Func實現(xiàn)上面的方法。

Func   Mathresult = MyMath. mathNumber ;

Console.Write(m(5));

輸出結(jié)果:10

用Action怎么實現(xiàn)呢??Action是不能有返回值的。只進(jìn)不出。IN

Action Mathresult = MyMath. mathNumber ;

相應(yīng)的,mathNumber方法就不能有返回值,需要修改為:

public class MyMath

{

   public static double mathNumber(double number)

   {

        Console.Write(number*2);

   }

}

Mathresult (5);

輸出結(jié)果:10

如果想要有多個委托的話,可以使用數(shù)組,同時委托也支持+=   -+。

方法Account有2個方法,支出,和查詢

class Account

{

   decimal acc;

   //查詢

   public public decimal Acc{get; private set;}

   public Account(decimal money)  { this.Acc=money; }

   //支出

   public static void Payin(decimal money)

   {

       if(Acc > = money)

       {

           Acc+money;

       }

       else

       {

           throw new Exception("可用金額不足!");

       }

   }

   //查詢余額

   public static void Check(decimal money)

   {

      Console.write("您的余額"+Acc.Tostring());

   }

}

給委托提供這兩個方法:

一、

Action[] action={Account.Payin,Account.Check};

foreach(Acount a in action)

{

   a(100);

   a(200);

}

輸出結(jié)果:

您的余額100

您的余額300

二、

Action action=Account.Payin;

                           action+=Account.Check;

action(100);  action(200);

或:

Action action1=Account.Payin;

Action action2=Account.Check;

Action action3=action1+action2;

action(100); action(200);

判斷異常:

Delegate[] de = action3.GetInvocationList();

foreach (Action a in de)
                {
                    try
                    {

                       action(100);

                       a(200);

                   }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }

關(guān)于“c#如何實現(xiàn)委托中異常的處理”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。


本文名稱:c#如何實現(xiàn)委托中異常的處理-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://weahome.cn/article/isscd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部