void IImplementedTypeCache.EnumerateImplementedTypes(IImplementedType implementedType, bool includeActualType) { for (var i = 0; i < _implementedTypes.Length; i++) { if (_implementedTypes[i].MessageType == typeof(T) && !includeActualType) { continue; } _implementedTypes[i].ImplementsType(implementedType); } }
/// <summary> /// Enumerate the implemented types /// </summary> /// <param name="implementedType">The interface reference to invoke for each type</param> /// <param name="includeActualType">Include the actual message type first, before any implemented types</param> public static void EnumerateImplementedTypes(IImplementedType implementedType, bool includeActualType = false) { Cached.Instance.Value.EnumerateImplementedTypes(implementedType, includeActualType); }
void CachedType.ImplementsType(IImplementedType implementedType) { implementedType.ImplementsType <TAdapter>(Direct); }