unity中C#委托的应用
2015-02-27 15:58
176 查看
http://www.u3dchina.com/t-6355-1-1.html
unity 中的 有一种类型 叫委托类型 今天在Unity联盟上学习了一些 跟大家分享一下 我们常常将委托和事件合
起来讲,其实他们两是有些区别的,委托(delegate)是一种类型,而事件(Event)是一种实例(委托中的一种)
代码如下
普通浏览复制代码
using UnityEngine;
using System.Collections;
public class TestDelegate : MonoBehaviour
{
//定义一个委托(格式是不是很类很像),用来指向我们某个函数。(c++里面的指针函数)
//param参数是名字
private delegate void DebugString(string param);
/// <summary>
/// 输出中文名字
/// </summary>
public void DebugNameOfChina(string str)
{
Debug.Log("中文名字:" + str);
}
/// <summary>
/// 输出英文名字
/// </summary>
public void DebugNameOfEnglish(string str)
{
Debug.Log("English Name:" + str);
}
//定义一个委托的变量事件
private DebugString handlerDebugString;
void OnGUI()
{
if (GUILayout.Button("输出中文名字"))
{
//我想输出中文名字的话就给handlerDebugString 赋值成输出中文名字的这个函数DebugNameOfChina
handlerDebugString = DebugNameOfChina;
handlerDebugString("丁小未");
}
else if (GUILayout.Button("Debug English Name"))
{
//我想输出英文名字的话就给handlerDebugString 赋值成输出中文名字的这个函数DebugNameOfEnglish
handlerDebugString = DebugNameOfEnglish;
handlerDebugString("DingXiaowei");
}
}
}
unity 中的 有一种类型 叫委托类型 今天在Unity联盟上学习了一些 跟大家分享一下 我们常常将委托和事件合
起来讲,其实他们两是有些区别的,委托(delegate)是一种类型,而事件(Event)是一种实例(委托中的一种)
代码如下
普通浏览复制代码
using UnityEngine;
using System.Collections;
public class TestDelegate : MonoBehaviour
{
//定义一个委托(格式是不是很类很像),用来指向我们某个函数。(c++里面的指针函数)
//param参数是名字
private delegate void DebugString(string param);
/// <summary>
/// 输出中文名字
/// </summary>
public void DebugNameOfChina(string str)
{
Debug.Log("中文名字:" + str);
}
/// <summary>
/// 输出英文名字
/// </summary>
public void DebugNameOfEnglish(string str)
{
Debug.Log("English Name:" + str);
}
//定义一个委托的变量事件
private DebugString handlerDebugString;
void OnGUI()
{
if (GUILayout.Button("输出中文名字"))
{
//我想输出中文名字的话就给handlerDebugString 赋值成输出中文名字的这个函数DebugNameOfChina
handlerDebugString = DebugNameOfChina;
handlerDebugString("丁小未");
}
else if (GUILayout.Button("Debug English Name"))
{
//我想输出英文名字的话就给handlerDebugString 赋值成输出中文名字的这个函数DebugNameOfEnglish
handlerDebugString = DebugNameOfEnglish;
handlerDebugString("DingXiaowei");
}
}
}
相关文章推荐
- [unity3d]unity中C#委托的应用
- C#中的委托与事件在Unity中的应用
- [unity3d]unity中C#委托的应用
- unity中C#委托的应用
- .NET委托(在多线程编程中的应用):一个C#睡前故事
- C#编程应用--线程与委托
- .NET委托(在多线程编程中的应用):一个C#睡前故事
- c# 委托的应用
- 关于C#/.NET中委托和事件的机制和应用的故事(转)
- C# 委托(delegate) 的小应用
- C# 中的委托和事件 分类: .NET 接口+泛型+委托+继承 2011-08-30 10:09 20人阅读 评论(0) 收藏 举报 引言 委托 和 事件在 .Net Framework中的应用非
- C# 委托的应用1:将方法作为参数传递给另一个方法
- C# 委托与事件简单应用
- [C#应用]得到组件事件的委托列表
- C# 委托与事件简单应用
- C# 委托(Delegate) 事件(Event)应用详解
- C#中委托的匿名方法,及其在协变与逆变中的应用
- 委托与事件的简单应用(不同控件之间的控制及参数传递,C# VB)
- C#委托—GetInvocationList()的应用(获得多个返回值与异常处理)
- c# 委托的应用