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

2023-11-24

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

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

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

String.MyExtensionMethod("String")

但反而 ..

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

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


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

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

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

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

  • Microsoft MVC:手动触发表单验证

    有谁知道是否有办法手动触发 Net MVC 应用程序中的客户端表单验证 我想做以下事情 我已经查看了 MicrosoftMvcValidation js 中的代码 但没有找到可以在表单上调用的方法 我认为您正在寻找的验证可以在这里找到 ht
  • 为什么我应该更喜欢单个“await Task.WhenAll”而不是多个等待?

    如果我不关心任务完成的顺序 只需要它们全部完成 我是否仍然应该使用await Task WhenAll而不是多个await 例如 是DoWork2下面是一个首选方法DoWork1 为什么 using System using System
  • 将 .NET 小数存储到 MySQL 中的最佳字段定义是什么?

    我需要将小数存储到 MySQL 中 它可以具有不同的精度 因此我很想知道哪种 MySQL 字段类型绝对等同于 NET 的字段类型decimal http msdn microsoft com en us library system dec
  • 自动修补程序(高效自动更新程序)

    我想要一个自动更新程序 可以检测修改的文件 通过比较客户端和服务器上的文件 并仅下载修改的文件 我还希望它能够给我生动的状态 在进程栏或其他东西上显示它 该场景是网络中有大约一千个客户端 它们使用相同的应用程序 如果应用程序有新版本可用 他
  • ReST 代理对象生成器

    第三方公司写了一套ReST服务 我已经让所有代码正常工作 但事后看来 为了消除一些跑腿工作 我认为有人可能知道一个代码生成器 它连接到 ReST 服务并计算出需要创建和生成哪些请求和响应对象这些的代码 我在谷歌上看了一下 但没有看到任何合适
  • TypeAccessException:尝试通过方法...访问类型...失败

    完整的异常详细信息是 System TypeAccessException occurred Message Attempt by method DynamicClass System Text StringBuilder System O
  • 为什么在 .net 中使用 Invoke on Controls? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么 NET不允许跨线程操作 https stackoverflow com questions 2896504 why net does not allow cross thread operat
  • .NET 的 HttpWebResponse 是否会自动解压缩 GZiped 和 Deflated 响应?

    我正在尝试执行一个接受压缩响应的请求 var request HttpWebRequest HttpWebRequest Create requestUri request Headers Add HttpRequestHeader Acc
  • 领域驱动设计示例(特别是 .NET 重点)

    好的 我已经订购了 但是当我等待它到达时 我正在考虑开始在我当前的项目中应用这些技术 我现在确实很好地掌握了这些概念 但是当我尝试应用它们时 我陷入了执行过程中 最终在各个项目中漏掉了我的职责 因此 我正在寻找可以引导我走向正确方向的资源
  • 如何通过反射访问Generic.List的索引?

    好的 我有一个类 我将一个对象作为属性传递 我传递的对象是List
  • SHA256在 x64 构建中的管理速度是原来的两倍 - 这是典型情况吗?

    有人说 NET 应用程序可以在 x86 模式下编译 因为 x64 提供的唯一好处几乎是更大的虚拟地址空间 从而允许应用程序分配超过 2 或 3 GB 的内存 或者整个内存映射非常大的文件 然而 一个非常简单的测试表明 在 64 位计算机上
  • .NET Regex Negative Lookahead - 我做错了什么?

    假设我有 StartTest NoInclude EndTest StartTest Include EndTest 并正在使用 StartTest NoInclude s S EndTest g 为什么我要匹配这两个组 正则表达式示例 h
  • 在 .NET 中使用 NTFS 压缩来压缩文件夹

    我想在 NET 中使用 NTFS 压缩来压缩文件夹 我发现这个帖子 http bytes com groups net c 262874 making folder compressed 但它不起作用 它抛出异常 无效参数 Director
  • 使用.Net的StatisticFormula库

    C 命名空间 System Windows Forms DataVisualization Charting StatisticFormula 似乎有一些我需要的统计函数 命名空间记录在MSDN 在这里 http msdn microsof
  • 使用 Windbg 调试 .NET 转储

    我对 NET 进程进行了转储 使用 ma 选项和 procdump exe 中的高 CPU 触发器 并且希望在正在运行的线程中查看有关我的代码正在执行的操作的线索 我明白了 procdump ma c 65 s 2 n 3 service
  • 强制 Excel 将多张纸作为单个作业打印

    在某些 Excel 2003 工作簿中 当我尝试print如果有多个工作表 Excel 将这些工作表视为单独的打印作业 这让我一直在编写的 Excel 自动化应用程序感到困惑 因为它会导致 Adob e PDF Printer 停止并询问用
  • 在 C# 中实例化 python 类

    我已经用 python 编写了一个类 我想通过 IronPython 将其包装到 net 程序集中 并在 C 应用程序中实例化 我已将该类迁移到 IronPython 创建了一个库程序集并引用了它 现在 我如何真正获得该类的实例 该类看起来
  • 根据另一个列表的内容对列表进行排序

    我有一个包含整数列表的列表和另一个包含同时包含整数和字符串的类的列表 我想做的是按字母顺序对列表进行排序 将第一个列表中存在的条目放在前面 这是我的代码和预期输出 using System using System Collections
  • 接口中的私有成员

    是否可以在 NET 接口中创建私有成员 我听说现在可以了 但我的 IDE 拒绝了 public interface IAnimal void SetDefaultName string name ChangeName name privat
  • 那里有更好的 DateTime.Parse 吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道有一个库 付费或免费 能够处理比 DateTime Parse 使用的更常见的日期时间格式 能够

随机推荐

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

    我有一系列对象 如下所示 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