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

C#之Action的实际应用例子的更多相关文章

  1. Struts2学习笔记 - Action篇<定义逻辑Action>

    有三种方法可以使一个Action处理多个请求 动态方法调用DMI 定义逻辑Acton 在配置文件中使用通配符 这文章就谈论一下定义逻辑Action 这里主要关注的是struts.xml配置文件,一般情 ...

  2. [C#基础]Func和Action学习

    目录 委托 Action Func 总结 委托 委托的那些事 关于委托的基本定义,在很久之前的这篇文章中,有个简单的介绍.稍微回顾一下. 委托是c#中类型安全的,可以订阅一个或多个具有相同签名方法的函 ...

  3. React学习(2)——action,reducer

    action creator 是一个函数,格式如下: var actionCreator = function() { // 构建一个 action 并返回它 return { type: 'AN_A ...

  4. Salesforce Consumer Goods Cloud 浅谈篇三之 行动计划(Action Plan)相关配置

    本篇参考: https://v.qq.com/x/page/f0772toebhd.html https://v.qq.com/x/page/e0772tsmtek.html https://v.qq ...

  5. Oozie分布式任务的工作流——邮件篇

    在大数据的当下,各种spark和hadoop的框架层出不穷.各种高端的计算框架,分布式任务如乱花般迷眼.你是否有这种困惑!--有了许多的分布式任务,但是每天需要固定时间跑任务,自己写个调度,既不稳定, ...

  6. 【基础】MVC路由规则

    一.RouteData解析过程 在ASP.NET MVC中,服务器收到来自客户端的请求后,会经过一些列的处理拿到请求的数据,比如在Pipeline 管线事件中,通过订阅适当的事件,将HttpConte ...

  7. ASP.NET MVC 5 - 控制器

    MVC代表: 模型-视图-控制器 .MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程序包含: · Models: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据 ...

  8. Circuit Breaker Pattern(断路器模式)

    Handle faults that may take a variable amount of time to rectify when connecting to a remote service ...

  9. Struts2 - Conversion Plugin

    转载:http://www.cnblogs.com/ikuman/archive/2013/11/04/3403073.html 1.struts2自2.1以后推荐使用Convention Plugi ...

随机推荐

  1. python下载youtube视频

    谷歌开源了一个新的数据集,BoundingBox,(网址在这里)这个数据集是经过人工标注的视频数据集,自然想将它尽快地运用在实际之中,那么首先需要将其下载下来:可以看到网址上给出的是csv文件,该文件 ...

  2. Servlet----------在使用doGet()和doPost()是如何处理中文乱码

    如果在登录界面跳转到时servlet中使用doGet()方法显示中文出现乱码时,可以添加这两行代码来解决,但这不是唯一的方法 request.setCharacterEncoding("GB ...

  3. C#-1-1-.net

    1..Net (1).Net平台 (2). FrameWork框架 2..Net应用 (1).桌面应用程序(Win form(.Net开发的桌面应用程序叫做Win form应用程序)). (2).In ...

  4. python-面向对象-06_私有属性和私有方法

    私有属性和私有方法 01. 应用场景及定义方式 应用场景 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到 私有属性 就是 对象 不希望公开的 属性 私 ...

  5. dedecms调用全站相关文章怎么设置

    前面我们说了dedecms调用相关文章,但很多网友反映说调用的只是本栏目的相关文章,不是全站的相关文章,那么dedecms调用全站相关文章怎么设置呢?打开文件\include\taglib\likea ...

  6. 自动化工具之一:wxPython

    一.下载与安装 (1)下载地址:https://pypi.python.org/pypi/wxPython (2)我安装的python版本是3.6.X的,所以我这里下载的是: wxPython-4.0 ...

  7. jquery 之ajax,get,post异步请求简单代码模版

    $.get(                        "../cart/cart_list.do", "productId="+productId, fu ...

  8. abap function module中的异常处理

    1: 定义一个有异常抛出的function module.  (zfm_moudle6),  该函数中有符合exceptions中的异常,将会自动将exceptions中的异常抛出. FUNCTION ...

  9. (转)漫谈MySql中的事务

    最近一直在做订单类的项目,使用了事务.我们的数据库选用的是MySql,存储引擎选用innoDB,innoDB对事务有着良好的支持.这篇文章我们一起来扒一扒事务相关的知识. 为什么要有事务? 事务广泛的 ...

  10. python字符串前带u,r,b的含义

    1. https://www.cnblogs.com/yanglang/p/7416889.html 2.https://blog.csdn.net/teavamc/article/details/7 ...