• C#之Action的实际应用例子


    public class DemoAction
    {
    public Action action;
    public Action<int> action1;
    public Action<int,string> action2;
    public Action<List<int>> action3;

    /// <summary>
    /// 不带参数
    /// </summary>
    public void ActionDemo()
    {
    if (action != null)
    {
    action();
    }
    }

    /// <summary>
    /// 带一个参数
    /// </summary>
    /// <param name="a"></param>
    public void ActionDemo(int a)
    {
    if (action1 != null)
    {
    action1(a);
    }
    }

    /// <summary>
    /// 带两个参数
    /// </summary>
    /// <param name="a"></param>
    /// <param name="str"></param>
    public void ActionDemo(int a,string str)
    {
    if (action2 != null)
    {
    action2(a,str);
    }
    }

    /// <summary>
    /// 带一个列表
    /// </summary>
    /// <param name="?"></param>
    public void ActionDemo(List<int> list){
    if (action3 != null)
    {
    action3(list);
    }
    }
    }



    public class CSharpDemo : MonoBehaviour {

    Action action;


    // Use this for initialization
    void Start () {

    DemoAction demo = new DemoAction();
    demo.action = TestAction;
    demo.action1 = TestAction;
    demo.action2 = TestAction;
    demo.action3 = TestAction;

    List<int> list = new List<int>(){10,20,30,40};
    demo.action();
    demo.action1(20);
    demo.action2(20, "rose_grils");
    demo.action3(list);

    }

    // Update is called once per frame
    void Update () {

    }


    /// <summary>
    /// 不带参数
    /// </summary>
    void TestAction(){
    Debug.LogError(" 不带参数");
    }

    /// <summary>
    /// 带一个参数
    /// </summary>
    /// <param name="a"></param>
    void TestAction(int a)
    {
    Debug.LogError("带一个参数 = " + a);
    }

    /// <summary>
    /// 带2个参数
    /// </summary>
    /// <param name="a"></param>
    /// <param name="str"></param>
    void TestAction(int a, string str)
    {
    Debug.LogError("带2个参数a = " + a + " str = " + str);
    }

    /// <summary>
    /// 带一个列表
    /// </summary>
    /// <param name="list"></param>
    void TestAction(List<int> list)
    {
    Debug.LogError("带一个列表");
    for (int i = 0; i < list.Count; i++)
    {
    Debug.LogError("i = " + list[i]);
    }
    }

    }

    运行结果如下图:


    ---------------------
    作者:穿梭在26个字母的世界
    来源:CSDN
    原文:https://blog.csdn.net/rose_girls/article/details/50152823

  • 相关阅读:
    FineReport实现java报表报表展示的效果图
    Android开发最佳学习路线图
    void及void指针含义的深刻解析
    7个最好的免费杀毒软件下载
    linux-socket
    java实现第四届蓝桥杯逆波兰表达式
    java实现第四届蓝桥杯逆波兰表达式
    java实现第四届蓝桥杯逆波兰表达式
    java实现第四届蓝桥杯逆波兰表达式
    java实现第四届蓝桥杯有理数类
  • 原文地址:https://www.cnblogs.com/wwwbdabc/p/10346446.html
Copyright © 2020-2023  润新知