目前在 ByRef 内部方法上指定 OutAttribute 有什么作用吗?

2023-11-24

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(使用前将#替换为@)

目前在 ByRef 内部方法上指定 OutAttribute 有什么作用吗? 的相关文章

  • VB.NET 中的下拉菜单

    我有一个小要求 那就是 表单上有两个组合框 用于填充员工姓名和角色 我按如下方式填充组合框 我创建了一个名为 DbConnect 的类 其中有 02 个函数 Public Function getEmployees As DataTable
  • 是否可以使用 Office 365 API 编辑存储在云中的 Office 文档?

    是否可以将我们的 asp net vb net 网站与 Office 365 集成 以便订阅 Office 365 的客户可以使用在线 Office 365 编辑器编辑存储在我们服务器上的文档 我们的网站已经使用 Google Docs 编
  • 如何从 VB.NET 中的存储过程获取返回值

    我在 SQL Server 中有一个存储过程用于生成事务号 任何人都可以帮助我如何从 VB NET 调用存储过程以及如何获取从过程返回到前端的值 问候 乔治 我想你想要这样的东西 Public Sub Foo Using sql As Ne
  • 如何将服务添加到 .Net 中属性网格的类型描述符上下文中?

    我有一个应用程序 允许用户在设计时选择图像 无论是直接图像还是从图像列表中 到目前为止 一切都很酷 除了这不是发生在 Visual Studio 属性浏览器中 而是发生在作为类型编辑器一部分的属性网格中 我的问题是 图像选择器 实际上是资源
  • 如何知道线程中的工作何时完成?

    单击按钮时我需要创建多个线程 我已经这样做了 Dim myThread As New Threading Thread AddressOf getFile myThread IsBackground True myThread Start
  • ASP.Net Web 应用程序 Jquery Photoviewer 和 Ajaxical 更新

    有一个错误我的网站 http new mnarfezhom com 请进入右数第三个菜单 有些图像只能通过 jquery photoviewer 显示 onlclick 这很好用 现在 当我单击页面底部的 Ajaxical 更新按钮时 问题
  • VB.NET LINQ 查询:获取特定结构成员的所有值的总和

    在 VB NET 中 假设我有以下结构 Public Structure Product Public ItemNo As Int32 Public Description As String Public Cost As Decimal
  • 为什么 C# 在基本构造函数之前设置私有变量,而 VB.NET 却相反?

    有一个问题是比较 C 代码和 VB NET 看似相同的代码之间的结果完全不同 我写了一个程序 允许两个类 打架 无论出于何种原因 C 总是获胜 VB NET 有什么问题 https stackoverflow com questions 7
  • 将数据/变量从 Visual Basic 表单传递到 Flash 对象

    我很确定这个问题可以在 stackOverflow 上的某个地方得到解答 但我对此没有选择 我有一个 VisualBasic 窗体 上面有一个按钮对象 我希望该按钮有一个 onClick 过程 以便单击它可以将变量或其他命令传递到另一个正在
  • 如何在单独的线程上设置全局键盘挂钩?

    经过多次搜索后 我最终使用此类进行全局键盘挂钩 关联 全球挂钩柱 http sim0n wordpress com 2009 03 28 vbnet keyboard hook class Imports System Runtime In
  • 使用 vb.net 在 MS Access 中插入和更新值

    我已经检查了该网站上的大部分论坛 但没有得到我的解决方案 我的问题是将数据从 vb net 插入到 MS Access 但我无法做到 它没有显示任何错误 但也没有在我的表中插入值 我正在使用非常简单的代码 Imports System Da
  • vb.net 从数组中删除第一个元素

    一种答案是创建一个短一个元素的新数组 还有其他更简单的方法可以做到这一点吗 您可以使用 LINQ 以非常简洁的代码生成结果 Dim a2 a Skip 1 ToArray 批评者可能会说这很慢 您应该使用Array Copy反而 Dim a
  • 无法设置 PageSetup 类的 PaperSize 属性

    我正在尝试使用 VB NET 打印 Excel 电子表格 但出现错误 无法设置 PageSetup 类的 PaperSize 属性 这是我的代码 Dim oldCI As System Globalization CultureInfo S
  • FireFox 中的默认表单按钮

    我正在构建一个服务器控件 它将搜索我们的数据库并返回结果 服务器控件包含一个 ASP Panel 我已将面板上的默认按钮设置为等于我的按钮 id 并将表单默认按钮设置为等于我的按钮 id 在面板上 MyPanel DefaultButton
  • Visual Studio 将 1.1 扩展为 1.1000000000000001

    至少对我来说 这是有史以来最奇怪的 Visual Studio 2010 行为 我正在开发 MVC3 项目 我从另一个项目 也包括 VS2010 MVC1 如果重要的话 复制了一行代码 如下所示 target height height 1
  • .NET 配置(app.config/web.config/settings.settings)

    我有一个 NET 应用程序 它具有用于调试和发布版本的不同配置文件 例如 调试 app config 文件指向开发SQL服务器 http en wikipedia org wiki Microsoft SQL Server它启用了调试并且发
  • 自定义编译器警告

    在 Net 中使用 ObsoleteAtribute 时 它 会向您发出编译器警告 告诉您该对象 方法 属性已过时 应使用其他内容 我目前正在从事一个需要大量重构前员工代码的项目 我想编写一个自定义属性 可用于标记方法或属性 这些方法或属性
  • 使用自定义验证器进行 ASP.Net 字数统计

    我正在处理的 ASP Net 2 0 项目的要求将某个字段限制为最多 10 个单词 不是字符 我当前正在使用带有以下 ServerValidate 方法的 CustomValidator 控件 Protected Sub TenWordsT
  • VB.NET 中的自动递增文本框

    单击按钮后如何增加文本框内容 将其放在按钮单击事件中 Dim int As Integer Integer TryParse TextBox1 Text int TextBox1 Text int 1
  • TryXXX 类似带有“out”参数的方法与返回可为空值类型的方法?

    我经常在 C 中看到这样的方法 进行可能会或可能不会给出结果的计算 bool TrySomething SomeType inputData out SomeOtherType result 为什么人们不使用这样的东西呢 Nullable

随机推荐