using System; using System.Collections.Generic; using Sirenix.Utilities; namespace ZC { public static class AssemblyManager { private static List _types; public static void Initialize() { var types = typeof(AssemblyManager).Assembly.GetTypes(); _types = new List(types); } public static void GetTypesInhertType(Type baseType, List<(Type, T)> types) where T : Attribute { foreach (var type in _types) { if (!baseType.IsAssignableFrom(type)) continue; var attribute = type.GetCustomAttribute(); if (attribute == null) continue; types.Add((type, attribute)); } } } }