您可以将扩展方法设为静态/共享吗?

2023-11-24

好吧,我可能在这里误解了一些东西,但是,据我所知......

  • 扩展方法必须包含在模块中,而不是类中
  • 您不能将模块中的方法设为静态/共享
  • 因此,如果不实例化类,就无法在类上使用扩展方法。

换句话说,您不能在 String 上创建名为“MyExtensionMethod”的扩展方法并使用:

String.MyExtensionMethod("String")

但反而 ..

Dim test As String
test.MyExtensionMethod("string")

它是否正确?或者有没有办法让扩展方法作为静态方法工作?


你是对的。扩展方法只能作用于类型的实例。

不,不幸的是,没有巧妙的方法来编写作用于类型本身的扩展方法,其行为类似于静态方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您可以将扩展方法设为静态/共享吗? 的相关文章

随机推荐

  • 获取数组中具有某些属性的项目数

    我有一系列对象 如下所示 scope students isSelected true isSelected true isSelected false isSelected true isSelected true 我怎样才能得到有的计数
  • JavaScript 中的圆碰撞

    对于学校 我需要用 JavaScript 编写一个程序来判断圆圈是否发生碰撞 它不需要以图形方式显示 我尝试了一下 但我的代码似乎不起作用 我该如何修复它 这是我生成的代码 function collision p1x p1y r1 p2x
  • 根据第一个下拉选择jquery显示第二个下拉选项

    我试图根据第一个下拉列表选择获得第二个下拉列表 我在这里找到了一个很棒的脚本 http jsfiddle net heera Gyaue enter code here 从这篇文章 Jquery 根据第一个下拉列表显示 排序第二个下拉列表
  • random.sample() 每次都返回相同的随机序列?

    我使用 python 的 random sample population k 函数从列表中生成一组随机值 以创建该列表的新排列 问题是每次它运行一个循环时 它都会生成完全一样随机序列 为什么是这样 我什至使用 random seed i
  • For 循环宏在预处理器阶段展开?

    我想使用 gcc 预处理器编写几乎相同的代码声明 500 次 假设出于演示目的 我想使用宏FOR MACRO define FOR MACRO x for i in 1 x const int arr len x i i 并打电话FOR M
  • 如何停止 WebRole/WorkerRole 的单个实例/VM

    我们有一个虚拟机 说 SampleVM 已部署并在 Azure 环境上运行 同时我们创建了 2 个实例 一个是 WebRole 另一个是运行在 Slot staging 上的 WorkerRole 我的问题是我可以通过 powershell
  • asp.net core 中的 csp 报告端点

    我正在尝试在 asp net core web 应用程序中设置 CSP 并且 CSP 部分工作正常 我可以在浏览器控制台中看到违规行为 因为它们被发送到 report uri 端点 但是 我似乎无法在控制器中创建正确的方法来接收这些消息 我
  • 在 C 中生成随机布尔值的简单方法是什么? [复制]

    这个问题在这里已经有答案了 我想生成一个随机布尔值以在游戏中使用 因此它不需要加密安全 我会用stdbool h在我的代码中 我也做了 include
  • TensorFlow:使用 tf.merge_all_summaries() 时出现 PlaceHolder 错误

    我收到占位符错误 我不知道这意味着什么 因为我正确映射sess run y y X X 我在这里提供了一个功能齐全的 MWE 来重现错误 import tensorflow as tf import numpy as np def init
  • 如何使用 ICU 将 Unicode 代码点转换为 C++ 中的字符?

    不知怎的 我在谷歌上找不到答案 我在搜索时可能使用了错误的术语 我正在尝试执行一个简单的任务 将表示字符的数字转换为字符本身 如下表所示 http unicode table com en 0460 例如 如果我的号码是 47 即 我可以将
  • iPhone SDK 上的 sqlite 数据库磁盘映像格式错误

    我在 iPhone SDK 上使用 SQLite 作为数据库后端的新应用程序时遇到问题 有时 我的应用程序会停止将数据加载到 UITableViews 通过管理器下载设备数据库后 我可以通过命令行访问 SQLite 数据库 我可以很好地查询
  • 为什么 Windows 窗体设计器对于 FromArgb 将 int 转换为 byte,然后再转换回 int?

    今天我查看了一些代码 看到了类似以下内容 var colour Color FromArgb int byte 227 int byte 213 int byte 193 当我问为什么会这样时 由于 Resharper 确认所有演员都是多余
  • XPath随机选择一个子节点

    我正在使用 Selenium IDE 进行一些 Web 应用程序测试 并且想引入一些随机性来分散我们的测试 我目前正在使用 SeleniumstoreAttributeValue 您在其中给它一个 XPath 表达式 它会存储与其匹配的第一
  • 为什么这个Python程序不能运行? AttributeError:“模块”对象没有属性

    我写了一个非常简单的Python程序 usr bin env python import random x random uniform 1 1 print str x 我从命令提示符运行它 python random py 它返回错误 T
  • 在 JavaScript 中将两个字节转换为有符号 16 位整数

    在 JavaScript 中 我需要将两个字节转换为 16 位整数 以便可以将音频数据流转换为带符号的 PCM 值数组 大多数将字节转换为 16 位整数的在线答案都使用以下内容 但它不适用于负数 var result byteA 0xFF
  • es6 导入中换行的 JsFormat 规则

    JsFormat for Sublime Text 3 符合大多数 ES6 标准 但是 在自动格式化导入语句时 它会向对象导入添加一个新行 预格式化行如下所示 import func1 func2 func3 from some modul
  • 让移动的矩形更加平滑

    我想让我的矩形的 动画 更加流畅 目前它确实很笨拙 我知道其中的原因 其中一个坐标先于另一个坐标成为所需值 例如 如果我当前位于 0 0 并且需要转到 150 75 并且我每秒均等地递增每个值 则 y 线将比 x 线快得多 var canv
  • 为什么使用 RxJS .asObservable() getter/factory 函数模式?

    在许多使用 RxJS 的代码库中 我似乎遇到了暴露私有的模式Subjects as Observables via a getter或正常getObservable 功能 我的问题不是为什么 asObservable 被使用 但为什么它看起
  • 如何缩小 HTML 代码?

    我的想法是somehow缩小服务器端的 HTML 代码 以便客户端接收更少的字节 缩小 是什么意思 不拉拉链 更像是 jQuery 创建者所做的 min js版本 换句话说 我需要删除不必要的空格和换行符 但我无法删除太多 HTML 表示的
  • 您可以将扩展方法设为静态/共享吗?

    好吧 我可能在这里误解了一些东西 但是 据我所知 扩展方法必须包含在模块中 而不是类中 您不能将模块中的方法设为静态 共享 因此 如果不实例化类 就无法在类上使用扩展方法 换句话说 您不能在 String 上创建名为 MyExtension