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