C#之Action的实际应用例子

2021-06-16 18:06

阅读:590

标签:cal   列表   frame   实际应用   ros   rpd   技术分享   void   ram   

public class DemoAction
{
public Action action;
public Action action1;
public Action action2;
public Action> action3;

///


/// 不带参数
///

public void ActionDemo()
{
if (action != null)
{
action();
}
}

///


/// 带一个参数
///

///
public void ActionDemo(int a)
{
if (action1 != null)
{
action1(a);
}
}

///


/// 带两个参数
///

///
///
public void ActionDemo(int a,string str)
{
if (action2 != null)
{
action2(a,str);
}
}

///


/// 带一个列表
///

///
public void ActionDemo(List 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 list = new List(){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 () {

}


///


/// 不带参数
///

void TestAction(){
Debug.LogError(" 不带参数");
}

///


/// 带一个参数
///

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

///


/// 带2个参数
///

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

///


/// 带一个列表
///

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

}

 

运行结果如下图:

技术分享图片

 


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

C#之Action的实际应用例子

标签:cal   列表   frame   实际应用   ros   rpd   技术分享   void   ram   

原文地址:https://www.cnblogs.com/wwwbdabc/p/10346446.html


评论


亲,登录后才可以留言!