五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【事件?語(yǔ)法篇】如何聲明自定義的事件以及事件的完整/簡(jiǎn)略聲明格式(附:事件...

2023-07-02 14:18 作者:栽在這  | 我要投稿

using System;

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

/// <summary>

///?

/// 自定義事件

/// </summary>

public class OrderEventArgs:EventArgs

{

??public string CoffeeName { get; set; }

??public string CoffeeSize { get; set; }

??public float CoffeePrice { get; set; }

}

/// <summary>

/// 事件的擁有者[類(lèi)]----->Customer類(lèi)

/// 事件[event關(guān)鍵字修飾]----->OnOrder,點(diǎn)餐事件

/// 時(shí)間的響應(yīng)者[類(lèi)]----->Waite類(lèi)r

/// 事件處理器[方法-收到約束的方法]----->TakeAction方法

/// 事件的訂閱關(guān)系[+=]----->+=

/// </summary>

public class Tra : MonoBehaviour

{

??//規(guī)定:當(dāng)委托是要實(shí)現(xiàn)某種事件時(shí),命名為事件名+EventHandler--具有可讀性,也可以約束改委托

??//為OnOrder事件聲明委托

??public delegate void OrderEventHandler(Customer _customer, OrderEventArgs _e);

??Customer customer = new Customer();

??Waiter waiter = new Waiter();

??// Start is called before the first frame update

??void Start()

??{

????customer.OnOrder += waiter.TakeAction;//事件處理器

????customer.Order();//事件擁有者的內(nèi)部邏輯,觸發(fā)事件


????customer.PayTheBill();

??}

??public class Customer

??{

????public float Bill { get; set; }

????public void PayTheBill()

????{

??????Debug.Log("付"+Bill+"錢(qián)");

????}

????private OrderEventHandler orderEventHandler;

????//申明事件

????public event OrderEventHandler OnOrder

????{

??????add

??????{

????????orderEventHandler += value;//添加事件處理器

??????}

??????remove

??????{

????????orderEventHandler -= value;

??????}

????}

????public void Order()

????{

??????if(orderEventHandler!=null)

??????{

????????OrderEventArgs e = new OrderEventArgs();

????????e.CoffeeName = "abc";

????????e.CoffeeSize = "Grand";

????????e.CoffeePrice = 30;


????????orderEventHandler(this, e);

??????}

????}

??}

??public class Waiter

??{

????internal void TakeAction(Customer _customer, OrderEventArgs _e)

????{

??????float finalPrice = 0;

??????switch(_e.CoffeeSize)

??????{

????????case "Tall":

??????????finalPrice = _e.CoffeePrice;//原價(jià)

??????????break;

????????case "Grand":

??????????finalPrice = _e.CoffeePrice + 3;

??????????break;

????????case "Venti":

??????????finalPrice = _e.CoffeePrice + 6;

??????????break;

??????}

??????_customer.Bill += finalPrice;

????}

??}

}

【事件?語(yǔ)法篇】如何聲明自定義的事件以及事件的完整/簡(jiǎn)略聲明格式(附:事件...的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
尤溪县| 和硕县| 渑池县| 务川| 黑山县| 同德县| 游戏| 乌恰县| 女性| 山西省| 朔州市| 七台河市| 桐城市| 盐城市| 五河县| 沈阳市| 洪洞县| 威宁| 喀什市| 富宁县| 古田县| 林西县| 禄劝| 贵德县| 南丰县| 当涂县| 冕宁县| 大新县| 宜阳县| 临安市| 岳普湖县| 定州市| 萨迦县| 醴陵市| 正蓝旗| 汉阴县| 遂川县| 闽侯县| 双辽市| 遵义县| 凤阳县|