相关疑难解决方法(0)

为什么C#不允许像C++这样的非成员函数

C#将不允许编写非成员函数,并且每个方法都应该是类的一部分.我认为这是所有CLI语言的限制.但我错了,我发现C++/CLI支持非成员函数.编译时,编译器会将该方法作为某个未命名类的成员.

这是C++/CLI标准所说的,

[注意:CLI将非成员函数视为某些未命名类的成员; 但是,在C++/CLI源代码中,此类函数无法使用该类名显式限定.结束说明]

未指定元数据中非成员函数的编码.[注意:这不会导致互操作问题,因为此类功能无法获得公共可见性.结束说明]

所以我的问题是为什么C#不实现这样的东西?或者你认为不应该有非成员函数,每个方法应该属于某个类?

我的意见是拥有非成员函数支持,它有助于避免污染类的接口.

有什么想法吗..?

.net c# clr c++-cli function

65
推荐指数
4
解决办法
2万
查看次数

标签 统计

.net ×1

c# ×1

c++-cli ×1

clr ×1

function ×1