// 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.AspNet.Mvc.Formatters.Xml { /// /// Extension methods for . /// public static class WrapperProviderFactoriesExtensions { /// /// Gets an instance of for the supplied /// type. /// /// A list of . /// The . /// An instance of if there is a wrapping provider for the /// supplied type, else null. public static IWrapperProvider GetWrapperProvider( this IEnumerable wrapperProviderFactories, WrapperProviderContext wrapperProviderContext) { if (wrapperProviderFactories == null) { throw new ArgumentNullException(nameof(wrapperProviderFactories)); } if (wrapperProviderContext == null) { throw new ArgumentNullException(nameof(wrapperProviderContext)); } foreach (var wrapperProviderFactory in wrapperProviderFactories) { var wrapperProvider = wrapperProviderFactory.GetProvider(wrapperProviderContext); if (wrapperProvider != null) { return wrapperProvider; } } return null; } } }