public void RegisterFunctionDelegate <T1, T2, TResult>() { DelegateMapNode node = new DelegateMapNode(); node.Adapter = new FunctionDelegateAdapter <T1, T2, TResult>(); node.ParameterTypes = new Type[] { typeof(T1), typeof(T2), typeof(TResult) }; functions.Add(node); RegisterDelegateConvertor <Func <T1, T2, TResult> >(defaultConverter); }
public void RegisterMethodDelegate <T1, T2, T3>() { DelegateMapNode node = new DelegateMapNode { Adapter = new MethodDelegateAdapter <T1, T2, T3>(), ParameterTypes = new Type[] { typeof(T1), typeof(T2), typeof(T3) } }; methods.Add(node); CheckGeneraicMapper(node); RegisterDelegateConvertor <Action <T1, T2, T3> >(defaultConverter); }
private void CheckGeneraicMapper(DelegateMapNode node) { var list = node.ParameterTypes; int max = list.Length; Type type; for (int i = 0; i < max; i++) { type = list[i]; if (type.Name.Contains("`")) { mClsNameTemp = type.Name; mClsNameTemp = mClsNameTemp + "&"; //UnityEngine.Debug.Log("asdfas " + type.Name); //UnityEngine.Debug.Log("put " + type.Name); mGernericsMapper[type.Name] = mClsNameTemp; } } }