1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using System.Collections.Generic;
using System.Linq;
namespace System.Web.WebPages.Test
{
public class HashVirtualPathFactory : IVirtualPathFactory
{
private IDictionary<string, object> _pages;
public HashVirtualPathFactory(params WebPageExecutingBase[] pages)
{
_pages = pages.ToDictionary(p => p.VirtualPath, p => (object)p, StringComparer.OrdinalIgnoreCase);
}
public bool Exists(string virtualPath)
{
return _pages.ContainsKey(virtualPath);
}
public object CreateInstance(string virtualPath)
{
object value;
if (_pages.TryGetValue(virtualPath, out value))
{
return value;
}
return null;
}
}
}
|