text: // Copyright (c) .NET Foundation. All rights reserved.
  // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
  
  using System;
  using System.Collections.Generic;
  
  namespace Microsoft.Extensions.DependencyInjection.ServiceLookup
  {
      internal class IEnumerableCallSite : ServiceCallSite
      {
          internal Type ItemType { get; }
          internal ServiceCallSite[] ServiceCallSites { get; }
  
          public IEnumerableCallSite(Type itemType, ServiceCallSite[] serviceCallSites) : base(ResultCache.None)
          {
              ItemType = itemType;
              ServiceCallSites = serviceCallSites;
          }
  
          public override Type ServiceType => typeof(IEnumerable<>).MakeGenericType(ItemType);
          public override Type ImplementationType  => ItemType.MakeArrayType();
          public override CallSiteKind Kind { get; } = CallSiteKind.IEnumerable;
      }
  }