|
using System;
using System.Reflection;
using Stepi.Collections.Filters;
using System.ComponentModel;
namespace Stepi.UIFilters.Initializers
{
public class StringFilterInitializer : IFilterViewInitializer
{
public bool IsApplying(PropertyInfo propertyInfo)
{
CheckArgument(propertyInfo);
return propertyInfo.PropertyType == typeof(string);
}
public IFilterView GetFilterView(PropertyInfo propertyInfo, ICollectionView collection)
{
if (!IsApplying(propertyInfo))
{
throw new ArgumentException("Invalid property specified. Property type is not string");
}
StringFilterView view = new StringFilterView();
view.Model = new StringFilterPresentationModel(new StringFilter(propertyInfo, StringFilterMode.Equals));
return view;
}
private static void CheckArgument(PropertyInfo propertyInfo)
{
if (propertyInfo == null)
{
throw new ArgumentNullException("propertyInfo");
}
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.