zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    松软科技web课堂:字符串方法和属性
    松软科技web课堂:JavaScript 事件
    松软科技前端课堂:JavaScript 对象
    松软科技web课堂:JavaScript 数据类型
    MVN TEST指定运行脚本
    Cucumber语法格式
    Maven pom文件标签解析大全
    测试用例自动转换成自动化脚本
    Cucumber使用中问题
    Cucumber常用关键字
  • 原文地址:https://www.cnblogs.com/wwwbdabc/p/10346446.html
Copyright © 2011-2022 走看看