国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
沅陵县| 大港区| 沧州市| 天门市| 广宗县| 马龙县| 岚皋县| 五河县| 福海县| 咸丰县| 南雄市| 阜宁县| 奉化市| 武义县| 仙游县| 海安县| 长宁区| 会昌县| 满洲里市| 定州市| 唐山市| 工布江达县| 上犹县| 滨海县| 泰宁县| 临猗县| 金昌市| 岳普湖县| 饶平县| 郁南县| 安陆市| 彰化市| 大宁县| 绥滨县| 宁化县| 纳雍县| 安陆市| 清水河县| 江山市| 定襄县| 长乐市|