Por que o C # não está permitindo funções não membro como C ++

C # não permitirá escrever funções que não sejam membros e todo método deve fazer parte de uma classe. Eu estava pensando isso como uma restrição em todos os idiomas do CLI. Mas eu estava errado e descobri que C ++ / CLI suporta funções não-membro. Quando é compilado, o compilador fará o método como membro de alguma classe sem nome.

Aqui está o que o padrão C ++ / CLI diz,

[Nota: Funções não membros são tratadas pela CLI como membros de alguma classe não nomeada; no entanto, no código-fonte C ++ / CLI, essas funções não podem ser qualificadas explicitamente com esse nome de classe. nota final]

A codificação de funções não membros nos metadados não é especificada. [Nota: Isso não causa problemas de interoperabilidade porque essas funções não podem ter visibilidade pública. nota final]

Então, minha pergunta é por que o C # não implementa algo assim? Ou você acha que não deve haver funções que não sejam membros e todo método deve pertencer a alguma classe?

Minha opinião é ter suporte à função de não membro e ajuda a evitar a interface da classe poluidora.

Alguma ideia..?

questionAnswers(2)

yourAnswerToTheQuestion