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

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

c#如何實(shí)現(xiàn)委托中異常的處理

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

成都創(chuàng)新互聯(lián)公司于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元克拉瑪依區(qū)做網(wǎng)站,已為上家服務(wù),為克拉瑪依區(qū)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

    基本委托寫法: 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實(shí)現(xiàn)上面的方法。

Func   Mathresult = MyMath. mathNumber ;

 Console.Write(m(5));

 輸出結(jié)果:10

用Action怎么實(shí)現(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

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

方法Account有2個(gè)方法,支出,和查詢

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());

    }

}

給委托提供這兩個(gè)方法:

一、

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#如何實(shí)現(xiàn)委托中異常的處理”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。


網(wǎng)頁(yè)題目:c#如何實(shí)現(xiàn)委托中異常的處理
當(dāng)前網(wǎng)址:http://weahome.cn/article/piiipc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部