Como fazer a classe como um IEnumerable em c #?

Então eu tenho uma classe e uma lista genérica dentro dela, mas é privada.

class Contacts
{
    List<Contact> contacts;
    ...
}

Eu quero fazer a aula funcionar como isso faria:

foreach(Contact in contacts) .... ;

assim (não funcionando):

Contacts c;
foreach(Contact in c) .... ;

No exemplo acima, a instância da classe Contact c deve retornar todos os itens dos contatos (membro privado de c)

Como eu faço isso? Eu sei que tem que ser IEnumerable com retorno de rendimento, mas onde declarar isso?

questionAnswers(5)

yourAnswerToTheQuestion