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