C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C#Action,传递函数作为参数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将一个条件作为Action传递给另一个方法. “ComputerPriceGenerator”中的第一行有效,但如何使数组工作(第二行)?任何想法

我正在寻找建议……,CalculateAllPrice尚未设计

public void ComputerPriceGenerator()
{
    //Below line Works
    PriceMachine.CalculatePrice(cart.Computers[0],() => ComputerConverter(cart.Computers[0]));           
    //How to make this work,i don't want to loop it???
    PriceMachine.CalculateAllPrice(cart.Computers,() => ComputerConverter(??));
}

public void ComputerConverter(Computer comp)
{
    if (comp.Memory <= 2)
        comp.Discount = 10;
}

解决方法

你的CalculatePrice方法不应该只采取Action,IMO – 两种方法都应该采取Action< Computer>.所以我会有这样的方法

public static void CalculatePrice(Computer computer,Action<Computer> action)
public static void CalcuateAllPrices(IEnumerable<Computer> computers,Action<Computer> action)

并称他们为:

PriceMachine.CalculatePrice(cart.Computers[0],ComputerConverter);
PriceMachine.CalculateAllPrice(cart.Computers,ComputerConverter);

大佬总结

以上是大佬教程为你收集整理的C#Action,传递函数作为参数全部内容,希望文章能够帮你解决C#Action,传递函数作为参数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。