最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity中使用反射機制調(diào)用函數(shù)

 更新時間:2021年03月09日 07:19:11   作者:FutureDr  
這篇文章主要為大家詳細介紹了Unity中使用反射機制調(diào)用函數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Unity中使用反射機制調(diào)用函數(shù),供大家參考,具體內(nèi)容如下

我們在進行開發(fā)時有時會碰到使用反射機制來處理事件消息,下面就是一種使用反射機制處理消息的方法

示例代碼

共有兩個腳本,其中一個模擬消息處理類,一個模擬使用類

using System.Reflection;
using UnityEngine;
using UnityEngine.UI;

public class ReflectionTest : MonoBehaviour
{
 public Button bt0;
 public Button bt1;
 public Button bt2;

 void Start()
 {
  bt0.onClick.AddListener(() =>
  {
   Reflection("NoPara");
  });

  bt1.onClick.AddListener(() =>
  {
   Reflection("OnePara", "你好");
  });

  bt2.onClick.AddListener(() =>
  {
   Reflection("TwoPara", "你好", 124);
  });
 }

 void Reflection(string name) 
 {
  string funName = name + "Msg";
  MethodInfo mi = typeof(MsgHandler).GetMethod(funName);
  object[] o = { };
  mi.Invoke(null, o);
 }

 void Reflection(string name, string str)
 {
  string funName = name + "Msg";
  MethodInfo mi = typeof(MsgHandler).GetMethod(funName);
  object[] o = { str };
  mi.Invoke(null, o);
 }
 void Reflection(string name, string str, int n)
 {
  string funName = name + "Msg";
  MethodInfo mi = typeof(MsgHandler).GetMethod(funName);
  object[] o = { str, n };
  mi.Invoke(null, o);
 }

}
using UnityEngine;

public class MsgHandler 
{
 public static void NoParaMsg() 
 {
  Debug.Log("沒有參數(shù)的反射消息");
 }

 public static void OneParaMsg(string str)
 {
  Debug.Log("一個參數(shù)的反射消息,參數(shù)是:" + str);
 }

 public static void TwoParaMsg(string str, int n)
 {
  Debug.Log("二個參數(shù)的反射消息,參數(shù)是:" + str + "和" + n);
 }

}

使用說明及效果

將腳本掛在空物體Reflection上,然后將三個按鈕掛到腳本上,運行即可。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# 中將數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字節(jié)數(shù)組的方法

    C# 中將數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字節(jié)數(shù)組的方法

    C# 中將數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字節(jié)數(shù)組的方法,需要的朋友可以參考一下
    2013-05-05
  • C#關(guān)閉指定名字進程的方法

    C#關(guān)閉指定名字進程的方法

    這篇文章主要介紹了C#關(guān)閉指定名字進程的方法,涉及C#進程操作的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • C#中async/await之線程上下文工作原理

    C#中async/await之線程上下文工作原理

    這篇文章主要為大家介紹了C#中async/await之線程上下文工作原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2023-05-05
  • C# 讀寫自定義的Config文件的實現(xiàn)方法

    C# 讀寫自定義的Config文件的實現(xiàn)方法

    本文主要介紹了C# 讀寫自定義的Config文件的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • C#調(diào)用C動態(tài)鏈接庫的實現(xiàn)

    C#調(diào)用C動態(tài)鏈接庫的實現(xiàn)

    動態(tài)鏈接庫是不能直接執(zhí)行的,也不能接收消息,它只是一個獨立的文件,本文主要介紹了C#調(diào)用C動態(tài)鏈接庫的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Unity3D實現(xiàn)飛機大戰(zhàn)游戲(2)

    Unity3D實現(xiàn)飛機大戰(zhàn)游戲(2)

    這篇文章主要為大家詳細介紹了Unity3D實現(xiàn)飛機大戰(zhàn)游戲的第二部分,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • C#使用System.Environment獲取電腦的相關(guān)屬性

    C#使用System.Environment獲取電腦的相關(guān)屬性

    這篇文章主要為大家詳細介紹了C#使用System.Environment獲取電腦的相關(guān)屬性,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Unity3D Shader實現(xiàn)動態(tài)屏幕遮罩

    Unity3D Shader實現(xiàn)動態(tài)屏幕遮罩

    這篇文章主要為大家詳細介紹了Unity3D Shader實現(xiàn)動態(tài)屏幕遮罩效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 使用C#開發(fā)ActiveX控件

    使用C#開發(fā)ActiveX控件

    activex控件以前也叫做ole控件,它是微軟ie支持的一種軟件組件或?qū)ο?,可以將其插入到web頁面中,實現(xiàn)在瀏覽器端執(zhí)行動態(tài)程序功能,以增強瀏覽器端的動態(tài)處理能力。通常activex控件都是用c++或vb語言開發(fā),本文介紹另一種方式,使用c#語言開發(fā)activex控件。
    2017-02-02
  • C#子線程更新UI控件的方法實例總結(jié)

    C#子線程更新UI控件的方法實例總結(jié)

    這篇文章主要介紹了C#子線程更新UI控件的方法,在桌面應(yīng)用程序中控制UI界面有著不錯的實用價值,需要的朋友可以參考下
    2014-09-09

最新評論

手游| 镇沅| 静宁县| 安康市| 饶河县| 嘉鱼县| 玛多县| 临漳县| 剑川县| 买车| 崇信县| 崇阳县| 固阳县| 周至县| 东源县| 邯郸县| 绩溪县| 蒙自县| 北宁市| 上犹县| 内丘县| 泰顺县| 哈巴河县| 诸暨市| 渭源县| 景宁| 青州市| 浏阳市| 海丰县| 永登县| 大兴区| 大宁县| 山东| 遵化市| 汾阳市| 昌乐县| 辽源市| 呼伦贝尔市| 枣强县| 华亭县| 昌宁县|