A generic base class for business objects that implements IBindingListView sort, filter, find (c#)
<p>I have business objects:  </p>

<pre><code>public abstract class BoBase : IDataErrorInfo, INotifyPropertyChanged
</code></pre>

<p>...that all inherit from a standard abstract class like so: </p>

<pre><code>public class Shipment : BoBase
</code></pre>

<p>I wrap those with a basic list/collection base:</p>

<pre><code>public abstract class BoListBase&lt;T&gt; : BindingList&lt;T&gt; where T : BoBase, new()
</code></pre>

<p>Now I want to add filtering, etc., so I'm trying to implement IBindingListView:</p>

<pre><code>public abstract class BoFilteredListBase&lt;T&gt; : BindingList&lt;T&gt;, IBindingListView where T : BoBase
</code></pre>

<p>I'm wondering if anyone has a good GENERIC implementation of this that can be applied to any business object.  I've found a FEW examples... the best one so far is this: </p>

<p><a href="http://blogs.msdn.com/b/winformsue/archive/2008/05/19/implementing-filtering-on-the-ibindinglistview.aspx" rel="nofollow">http://blogs.msdn.com/b/winformsue/archive/2008/05/19/implementing-filtering-on-the-ibindinglistview.aspx</a></p>

<p>... but needs tweaking to make it generic, does not contain more extended filtering such as "like %something", and the sort seems to be broken.  </p>

<p>So, before I hack it up, I thought I would ask.  Anyone have any good examples ?</p>

<p>Thanks!</p>
