主題

【Unity】下拉式Method

伶乃 | 2021-06-27 03:03:32 | 巴幣 0 | 人氣 77

紀錄帖,避免之後忘記
用來讀取某個Class的Method並做成下拉式選單,有使用Odin <<就很香哇
T是一個public bool,TTT是一個public void
IEnumerable GetAllMethod(){
        var c = new ClassA();

        return c.GetType().GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)
            .Select(x => new ValueDropdownItem(x.Name, x));
    }

傳回的x會是MethodInfo,要呼叫必須使用Invoke
Invoke有兩個參數,第一個要建構該Class,後面放該method的參數,如果沒有參數填null
list[0].Invoke(new ClassA(),new object[]{1});

這裡的list是一個MethodInfo清單,之後把Type抓出來就可以自由設定要抓哪個Clss裡的Method
不確定重複使用建構式會不會造成甚麼影響,不過出問題再說好了
原本有想把MethodInfo轉成Action,但爬文之後覺得轉換的過程太麻煩了,還是現在這樣就好(。•ㅅ•。)♡

創作回應

更多創作