Bir değeri bir enum değerine göre filtreleyen bir IRouteConstraint oluşturmak istiyorum. Kendim için google'ı denedim, ancak bu hiçbir şeye yol açmadı.Enum için IRouteConstraint
Herhangi bir fikrin var mı? Bir HashSet her biri üzerinde Enum.GetNames çok daha iyi performans göstereceğini düşündüğünüz
public class EnumRouteConstraint<T> : IRouteConstraint
where T : struct
{
private readonly HashSet<string> enumNames;
public EnumRouteConstraint()
{
string[] names = Enum.GetNames(typeof(T));
enumNames = new HashSet<string>(from name in names select name.ToLowerInvariant());
}
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
return enumNames.Contains(values[parameterName].ToString().ToLowerInvariant());
}
}
:
blogumda da - http://mikemilleresq.wordpress.com/2010/03/12/starting-small-mvc-constraints/ –
Son sonuçumun altında görün – Jaap
'Enum.IsDefined()' büyük/küçük harfe duyarlıdır, Rota kısıtlama durumunuza bakılmaksızın çalışması gerekiyorsa bundan kaçınılmalıdır. – Chris