using System; using System.Reflection; using System.Runtime.CompilerServices; namespace DCFApixels.DragonECS.Internal { internal static class ReflectionUtility { [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool TryGetCustomAttribute(this Type self, out T attribute) where T : Attribute { attribute = self.GetCustomAttribute(); return attribute != null; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool TryGetCustomAttribute(this MemberInfo self, out T attribute) where T : Attribute { attribute = self.GetCustomAttribute(); return attribute != null; } } }