C# 通过反射调用对象上的方法

  		/// <summary>
        /// 通过反射调用方法
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="functionName"></param>
        /// <param name="parameters"></param>
        public static void CallFunction(this object obj, string functionName, object[] parameters = null)
        {
    
    
            var typeInfo = obj.GetType();
            var methodInfo = typeInfo.GetMethod(name: functionName,bindingAttr: BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
            if (methodInfo != null)
            {
    
    
                methodInfo.Invoke(obj, parameters);
            }
            else
            {
    
    
                Debug.Log($"调用方法不存在:{
      
      functionName}");
            }
        }

猜你喜欢

转载自blog.csdn.net/qq_26318597/article/details/131662416