/// <summary> /// 绑定实例命令 /// </summary> /// <param name="classType"></param> /// <param name="instance"></param> internal void AddCommandInstance(Type classType, object instance) { if (instance == null) { Terminal.LogError("[Shell] Instance couldn't be null!"); return; } MethodInfo[] methods = classType.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); foreach (MethodInfo method in methods) { if (method != null) { CommandAttribute attribute = method.GetCustomAttribute <CommandAttribute>(); if (attribute != null) { InternalAddCommand(attribute.command, attribute.description, method, instance); } } } }