VB.NET没有out
参数,但您可以指定<Out()> ByRef
在 COM 和 P/Invoke 方法上,以获得与外部方法相同的效果。
在内部方法(即仅由 .NET 代码调用的方法)上指定相同的内容实际上对 Jitter(或 VB.NET 编译器)有帮助吗?或者目前仅作为程序员笔记有用。
它是否有可能在将来的 Jitter 中使用,或者编译时该属性是否丢失?
我已经确认了VB.NET<Out()>
确实会导致 C# 客户端要求out
论据,所以它看起来确实是相同的。
此外,C# 客户端将其带有当前值的参数传递到方法中,但这并不奇怪,因为与 COM 或 P/Invoke 情况不同,不需要进行编组。 (并且 C# 不允许通过out
直接参数,因此似乎没有办法查看 C# 是否会优化掉以前不需要的赋值。)
所以看来答案是它确实有助于未来可能的 C# 客户端使用代码,并且如果抖动调整了 C# 等效项,它也会在这里做同样的事情。尽管像 VB 这样的语言存在,但它并不能做太多事情,因为它们不尊重Out属性他们自己。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)