欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

示例代碼

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

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上,然后將三個按鈕掛到腳本上,運(yùn)行即可。

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

相關(guān)文章

  • C#中倒序輸出字符串的方法示例

    C#中倒序輸出字符串的方法示例

    這篇文章主要給大家介紹了C#中倒序輸出字符串的方法示例,本文中的字符串倒序指的是將“嗎? 好 近 最”輸出“最 近 好 嗎?”,文中給出了兩種方法,需要的朋友可以參考借鑒,下面來跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-01-01
  • C#實(shí)現(xiàn)網(wǎng)頁截圖功能

    C#實(shí)現(xiàn)網(wǎng)頁截圖功能

    這篇文章主要介紹了C#實(shí)現(xiàn)網(wǎng)頁截圖功能,是非常實(shí)用的一個功能,需要的朋友可以參考下
    2014-08-08
  • C#的鋸齒數(shù)組以及C++實(shí)現(xiàn)代碼

    C#的鋸齒數(shù)組以及C++實(shí)現(xiàn)代碼

    鋸齒數(shù)組首先是二維數(shù)組,第一維的維數(shù)是確定的。之所以在C#中能夠出現(xiàn)靈活的鋸齒數(shù)組,是因?yàn)?,C#的數(shù)組是引用類型(本質(zhì)上存放的是指針)。根據(jù)這個引用類型(指針)的概念,C++中用指針數(shù)組同樣可以實(shí)現(xiàn)
    2013-09-09
  • C#簡單連接sql數(shù)據(jù)庫的方法

    C#簡單連接sql數(shù)據(jù)庫的方法

    這篇文章主要介紹了C#簡單連接sql數(shù)據(jù)庫的方法,涉及C#基于控制臺的數(shù)據(jù)庫連接創(chuàng)建于命令執(zhí)行相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • C#中const,readonly和static關(guān)鍵字的用法介紹

    C#中const,readonly和static關(guān)鍵字的用法介紹

    這篇文章介紹了C#中const,readonly和static關(guān)鍵字的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • 使用C#開發(fā)ActiveX控件

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

    activex控件以前也叫做ole控件,它是微軟ie支持的一種軟件組件或?qū)ο?,可以將其插入到web頁面中,實(shí)現(xiàn)在瀏覽器端執(zhí)行動態(tài)程序功能,以增強(qiáng)瀏覽器端的動態(tài)處理能力。通常activex控件都是用c++或vb語言開發(fā),本文介紹另一種方式,使用c#語言開發(fā)activex控件。
    2017-02-02
  • c#文件助手類分享(讀取文件內(nèi)容 操作日志文件)

    c#文件助手類分享(讀取文件內(nèi)容 操作日志文件)

    這篇文章主要介紹了c#文件助手類,實(shí)現(xiàn)的功能包括日志文件操作、獲取路徑中的文件名稱、讀取文件內(nèi)容等功能,大家參考使用吧
    2014-01-01
  • C#微信公眾平臺開發(fā)之a(chǎn)ccess_token的獲取存儲與更新

    C#微信公眾平臺開發(fā)之a(chǎn)ccess_token的獲取存儲與更新

    這篇文章主要介紹了C#微信公眾平臺開發(fā)之a(chǎn)ccess_token的獲取存儲與更新的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • C# SDK實(shí)現(xiàn)百度云OCR的文字識別功能

    C# SDK實(shí)現(xiàn)百度云OCR的文字識別功能

    這篇文章主要為大家詳細(xì)介紹了C# SDK實(shí)現(xiàn)百度云OCR的文字識別功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • C#托管堆對象實(shí)例包含內(nèi)容分析

    C#托管堆對象實(shí)例包含內(nèi)容分析

    這篇文章主要介紹了C#托管堆對象實(shí)例包含內(nèi)容,實(shí)例展示了托管對象的結(jié)構(gòu)及運(yùn)行原理,需要的朋友可以參考下
    2014-09-09

最新評論