public T FindAttribute <T>() where T : class { return(_attributeCache.TryGetValue(typeof(T), out var cachedAttribs) ? (cachedAttribs.Length > 0 ? (T)cachedAttribs[0] : null) : Method.FindAttribute <T>() ?? TargetType.FindAttribute <T>()); }