Remova o objeto da lista genérica por id

Tenho uma classe de domínio como esta:

public class DomainClass
{
  public virtual string name{get;set;}
  public virtual IList<Note> Notes{get;set;}
}

Como proceder para remover um item doIList<Note>? Eu seria capaz de fazer isso se fosse uma lista, mas tem que ser umIList como estou usando o Nhibernate para minha camada de persistênci

Ideally eu queria um método como este na minha classe de domínio:

public virtual void RemoveNote(int id)
{
   //remove the note from the list here

   List<Note> notes = (List<Note>)Notes

   notes.RemoveAll(delegate (Note note)
   {
       return (note.Id = id)
   });
}

Mas eu não posso transmitir oIList como umList. Existe uma maneira mais elegante de contornar isso?

questionAnswers(6)

yourAnswerToTheQuestion