aspnetcore/src/Microsoft.AspNet.Mvc.Core/Extensions/ViewEngineDescriptorExtensi...

83 lines
3.8 KiB
C#

// Copyright (c) Microsoft Open Technologies, Inc. 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;
using Microsoft.AspNet.Mvc.Rendering;
namespace Microsoft.AspNet.Mvc
{
/// <summary>
/// Extension methods for adding model binders to a collection.
/// </summary>
public static class ViewEngineDescriptorExtensions
{
/// <summary>
/// Adds a type representing a <see cref="IViewEngine"/> to a descriptor collection.
/// </summary>
/// <param name="descriptors">A list of ViewEngineDescriptors</param>
/// <param name="viewEngineType">Type representing an <see cref="IViewEngine"/>.</param>
/// <returns>ViewEngineDescriptor representing the added instance.</returns>
public static ViewEngineDescriptor Add([NotNull] this IList<ViewEngineDescriptor> descriptors,
[NotNull] Type viewEngineType)
{
var descriptor = new ViewEngineDescriptor(viewEngineType);
descriptors.Add(descriptor);
return descriptor;
}
/// <summary>
/// Inserts a type representing a <see cref="IViewEngine"/> to a descriptor collection.
/// </summary>
/// <param name="descriptors">A list of ViewEngineDescriptors</param>
/// <param name="viewEngineType">Type representing an <see cref="IViewEngine"/>.</param>
/// <returns>ViewEngineDescriptor representing the inserted instance.</returns>
public static ViewEngineDescriptor Insert([NotNull] this IList<ViewEngineDescriptor> descriptors,
int index,
[NotNull] Type viewEngineType)
{
if (index < 0 || index > descriptors.Count)
{
throw new ArgumentOutOfRangeException("index");
}
var descriptor = new ViewEngineDescriptor(viewEngineType);
descriptors.Insert(index, descriptor);
return descriptor;
}
/// <summary>
/// Adds an <see cref="IViewEngine"/> to a descriptor collection.
/// </summary>
/// <param name="descriptors">A list of ViewEngineDescriptors</param>
/// <param name="viewEngine">An <see cref="IViewEngine"/> instance.</param>
/// <returns>ViewEngineDescriptor representing the added instance.</returns>
public static ViewEngineDescriptor Add([NotNull] this IList<ViewEngineDescriptor> descriptors,
[NotNull] IViewEngine viewEngine)
{
var descriptor = new ViewEngineDescriptor(viewEngine);
descriptors.Add(descriptor);
return descriptor;
}
/// <summary>
/// Insert an <see cref="IViewEngine"/> to a descriptor collection.
/// </summary>
/// <param name="descriptors">A list of ViewEngineDescriptors</param>
/// <param name="viewEngine">An <see cref="IViewEngine"/> instance.</param>
/// <returns>ViewEngineDescriptor representing the added instance.</returns>
public static ViewEngineDescriptor Insert([NotNull] this IList<ViewEngineDescriptor> descriptors,
int index,
[NotNull] IViewEngine viewEngine)
{
if (index < 0 || index > descriptors.Count)
{
throw new ArgumentOutOfRangeException("index");
}
var descriptor = new ViewEngineDescriptor(viewEngine);
descriptors.Insert(index, descriptor);
return descriptor;
}
}
}