日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

簡(jiǎn)單說說C#中委托的適用場(chǎng)景

freeflydom
2025年6月3日 9:27 本文熱度 741

??委托簡(jiǎn)述

在C#中,委托(Delegate)是一種類型,它定義了方法的類型,使得可以將方法作為參數(shù)傳遞或作為返回值。

?委托使用

例子

假設(shè)我們有一個(gè)訂單系統(tǒng),需要根據(jù)不同的促銷策略計(jì)算訂單的最終價(jià)格。不同的促銷策略可能是:

  1. 固定折扣(減 10 元)。

  2. 百分比折扣(打 8 折)。

  3. 滿減優(yōu)惠(滿 100 減 20)。

我們希望通過委托動(dòng)態(tài)傳遞這些策略,而不是寫死邏輯。

博主寫法

public static void Main()
{
    // 假設(shè)訂單的原價(jià)為 100 元
    decimal price = 100;
    // 假設(shè)促銷類型為 "Fixed"
    string type = "Fixed";
    // 計(jì)算訂單的最終價(jià)格
    decimal finalPrice = ProcessOrder(price, type);
    // 輸出最終價(jià)格
    Console.WriteLine("Final price: " + finalPrice);
}
private static decimal ProcessOrder(decimal price, string type)
{
    if (type == "Fixed")
        return price - 10;
    else if (type == "Percentage")
        return price * 0.8m;
    else
        return price;
}

太優(yōu)雅了~

委托寫法

第一步:定義委托類型

// 委托類型:輸入訂單金額(decimal),返回折扣后的金額(decimal)
public delegate decimal DiscountStrategy(decimal originalPrice);

第二步:實(shí)現(xiàn)具體折扣方法

為每種促銷策略寫一個(gè)匹配委托簽名的方法:

// 固定折扣(減 10 元)
public static decimal FixedDiscount(decimal originalPrice)
{
	return originalPrice - 10;
}
// 百分比折扣(打 8 折)
public static decimal PercentageDiscount(decimal originalPrice)
{
	return originalPrice * 0.8m;
}
// 滿減優(yōu)惠(滿 100 減 20)
public static decimal ThresholdDiscount(decimal originalPrice)
{
	if (originalPrice >= 100)
	{
		return originalPrice - 20;
	}
	return originalPrice;
}

第三步:使用委托傳遞方法

新建訂單類,接收外部傳入的折扣策略:

public class OrderProcessor
{
    // 方法:計(jì)算訂單最終價(jià)格,接收一個(gè)委托參數(shù)
    public decimal ProcessOrder(decimal originalPrice, DiscountStrategy discountStrategy)
    {
        // 調(diào)用委托,自動(dòng)執(zhí)行傳入的策略方法
        return discountStrategy(originalPrice);
    }
}

第四步:調(diào)用

public static void Main()
{
	var processor = new OrderProcessor();
	// 選擇策略
	DiscountStrategy currentStrategy = PercentageDiscount;
	// 計(jì)算價(jià)格
	decimal finalPrice = processor.ProcessOrder(100, currentStrategy);
	Console.WriteLine($"百分比折扣后價(jià)格:{finalPrice}");
}

輸出結(jié)果

 

進(jìn)階委托寫法

使用 Func/Action 實(shí)現(xiàn)委托

第一步:使用 Func<decimal, decimal> 定義替代delegate委托

// 不需要定義 delegate,直接用 Func<輸入?yún)?shù)類型, 返回值類型>
public class OrderProcessor
{
    // 接收 Func<decimal, decimal> 作為折扣策略
    public decimal ProcessOrder(decimal originalPrice, Func<decimal, decimal> discountStrategy)
    {
        return discountStrategy(originalPrice);
    }
}

第二步:無需修改

?第三步:調(diào)用

public static void Main()
{
	var processor = new OrderProcessor();
	// 方式 1:直接傳入具名方法
	decimal price1 = processor.ProcessOrder(50, FixedDiscount);
	// 方式 2:用 Lambda 表達(dá)式
	decimal price2 = processor.ProcessOrder(100, price => price * 0.5m); 
	Console.WriteLine($"價(jià)格 1:{price1}");
	Console.WriteLine($"價(jià)格 2:{price2}");
}

輸出結(jié)果

 

??總結(jié)

委托適用于任何需要傳遞方法的地方(如回調(diào)、策略模式、事件處理)。

delegate關(guān)鍵字聲明委托,也可以使用Func/Action + Lambda方式。


    轉(zhuǎn)自https://www.cnblogs.com/ZYPLJ/p/18897174


    該文章在 2025/6/3 9:32:18 編輯過
    關(guān)鍵字查詢
    相關(guān)文章
    正在查詢...
    點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
    點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
    點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
    點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
    Copyright 2010-2025 ClickSun All Rights Reserved

    九九亚洲黄的视频| 91av在线一区二区| 大香蕉av在线片| 三级美女新型网站| 亚洲天堂性视频| 波多野结衣中文字幕青青草一区| 亚洲成人欧美一区自慰| 亚洲精品免费天堂| 久久aaa| 亚洲黄色第一页| caoporncomm| 欧美一区第2页| 一起草av麻豆| 大奶美女久久| 色色色综合网| 天天射天天干夜夜草| 日本精品久久久久久久免费| 大香蕉社区| 91亚洲欧美一区二区| 久久免费流白浆白丝| 欧美最新视频在线91| 国产日韩av高清伦理| 日韩永久AAA| 国产成人日韩欧美在线观看| 亚洲色欲综合一区二区在线| 免费无遮挡二级女片久久久| 婷婷综合在线观看日| 日产无码免费久久久久久| 美国婷婷色| 日本一久久久一精品| 国产精品久久久久久久久绿色| 国产激情伦理免费在线播放| 欧美黑人激情插喔喔喔喔| 日韩 欧美p片内射在线com| α级特级毛片免费观看| 国际AV在线播放| 成人精品mm1313| 国产成人无码精品一区99| 台湾自拍偷拍网址| 高清欧美成人日韩a网| 中文字幕亞洲綜合素質|