C#将不允许编写非成员函数,并且每个方法都应该是类的一部分.我认为这是所有CLI语言的限制.但我错了,我发现C++/CLI支持非成员函数.编译时,编译器会将该方法作为某个未命名类的成员.
这是C++/CLI标准所说的,
[注意:CLI将非成员函数视为某些未命名类的成员; 但是,在C++/CLI源代码中,此类函数无法使用该类名显式限定.结束说明]
未指定元数据中非成员函数的编码.[注意:这不会导致互操作问题,因为此类功能无法获得公共可见性.结束说明]
所以我的问题是为什么C#不实现这样的东西?或者你认为不应该有非成员函数,每个方法应该属于某个类?
我的意见是拥有非成员函数支持,它有助于避免污染类的接口.
有什么想法吗..?