public class EntityRepository<TEntity> : Collection<TEntity>
{
public SortByPropertyName(string propertyName)
{
DynamicComparer comparer = new DynamicComparer<TEntity>(propertyName);
(this.InnerList as List<TEntity>).Sort(comparer);
}
}
OBS skrev koden rakt av, finns säkert något kompileringsfel.
Varför ska jag ärva från Collection? Då finns ju inte metoderna för sort med?
Ärver du av collection får du möjligheterna att ta override på InserItem, RemoveItem och SetItem. Samt att kör man code analysis så rekommenderar den att man skall ärva av Collection<> istället.
Collection i sin tur innehåller en InnerList som är en List<> som man tar sort på.
Så som jag gjorde så castade jag den i detta fallet.