// 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;
}
}
}