I have a custom entity that I have created within my web application and I am binding it to my DataGrid (I know I should be using a GridView, but that change will come later...). Previously the data was being retrieved into a DataTable, so when I needed to sort, I could just apply a DataView to the DataTable passing the appropriate sort filter and I was set. But with the Generic list, it was not that simple. I did a little research on Delegates and Predicates to maybe solve my problem, but then I was creating custom code for each and every list that I needed to perform this on. However, in my Google searching I discovered this article, Sorting GridView Using IComparer by TheDotNetGuy and he is a using a GenericComparer class to do exactly what I wanted. I really liked the flexibility that this solution provided.
As an example, I could sort a list of personnel by last name as follows: