为什么允许空对象上的扩展方法?

2024-03-24

允许在空对象上调用扩展方法有什么意义? 这使我不必要地检查扩展方法中的空对象。 AFAIK,我无法理解这一点? 请解释。


扩展方法是 C# 语言的语法糖,它们被编译为 ILCode 中的普通静态方法调用。静态方法在编译时不知道任何有关参数的信息。

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

为什么允许空对象上的扩展方法? 的相关文章

  • 从实体获取单列

    如何从查询中获取单个列而不是整个对象 我可以这样做来获取整个对象 但我想要的只是名称 IList
  • 在 Web 浏览器中禁用 F5 [重复]

    这个问题在这里已经有答案了 可能的重复 禁用浏览器的后退按钮 https stackoverflow com questions 961188 disable browsers back button 如何禁用浏览器上的 F5 刷新 htt
  • std::list::clear 是否会使 std::list::end 迭代器无效?

    检查这个代码 include stdafx h include
  • Nullable 是不可能的,为什么不呢? [复制]

    这个问题在这里已经有答案了 如果这是一个愚蠢的问题 请原谅 我正在尝试更好地理解 Net 中的 Nullable 类型 从我从 Microsoft 源代码 使用 ReSharper 中注意到的内容 我了解到 Nullable 是一个结构 而
  • 使用 Xamarin.Forms 和 Zxing 生成 QR 码

    我在网上看到了很多关于这个的内容 旧帖子 但似乎没有什么对我有用 我正在尝试从字符串中生成二维码并将其显示在应用程序中 这就是我一开始的情况 qrCode new ZXingBarcodeImageView BarcodeFormat Ba
  • 如何使用 C# 以编程方式编辑 Power BI Desktop 文档参数或数据源?

    我有一个在 Power BI Desktop 中内置的报告模板 并保存为 pbix 或 pbit 文件 该模板使用DirectQuery SQL数据库作为数据源 而服务器地址和数据库名称被提取到参数中 还有一个参数包含一个ReportId
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • 如何调试在发布版本中优化的变量

    我用的是VS2010 我的调试版本工作正常 但我的发布版本不断崩溃 因此 在发布版本模式下 我右键单击该项目 选择 调试 然后选择 启动新实例 此时我看到我声明的一个数组 int ma 4 1 2 8 4 永远不会被初始化 关于可能发生的事
  • PrivateObject 找不到属性

    我的结构基本上如下所示 abstract class A protected string Identificator get set private void DoSomething DoSomethingSpecific protect
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • C 类型命名约定,_t 或 ALLCAPS

    我一直想知道是否有任何命名约定 例如何时对类型使用全部大写以及何时追加 t 什么时候不使用任何东西 我知道当时 K R 发布了各种有关如何使用 C 的文档 但我找不到任何相关内容 在 C 标准库类型中 t看起来漂亮占主导地位 time t
  • 如何增加ofstream的缓冲区大小

    我想增加 C 程序的缓冲区大小 以便它不会过于频繁地写入 默认缓冲区是 8192 字节 我尝试使用 pubsetbuf 将其增加到 200K 原始代码 ofstream fq fastq1 cstr ios out fastq1 is a
  • 从点云检测平面集

    我有一组点云 我想测试3D房间中是否有角落 所以我想讨论一下我的方法 以及在速度方面是否有更好的方法 因为我想在手机上测试它 我将尝试使用霍夫变换来检测线 然后我将尝试查看是否有三条线相交 并且它们也形成了两个相交的平面 如果点云数据来自深
  • 在 C 语言中替换宏内的宏

    我正在尝试使代码部分可重用 我下面的评论片段没有达到我想要的效果 define NAME ABC define LOG SIZE NAME LEN 我想LOG SIZE决心ABC LEN 我尝试过使用 但没能让它发挥作用 LOG SIZE在
  • C 与 C++ 中的 JNI 调用不同?

    所以我有以下使用 Java 本机接口的 C 代码 但是我想将其转换为 C 但不知道如何转换 include
  • WinForms - 加载表单时如何使用 PaintEventArgs 运行函数?

    我试图理解图形 在 Graphics FromImage 文档中 它有这样的示例 private void FromImageImage PaintEventArgs e Create image Image imageFile Image
  • 将日期时间显示为 MM/dd/yyyy HH:mm 格式 C#

    在数据库中 日期时间以 MM dd yyyy HH mm ss 格式存储 但是 我想以 MM dd yyyy HH mm 格式显示日期时间 我通过使用 String Format 进行了尝试 txtCampaignStartDate Tex
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • 初始化列表在 VC10 中不起作用

    我在 VC 2010 中编写了这个程序 class class1 public class1 initializer list
  • 在 C 中使用 #define 没有任何价值

    If a define没有任何价值地使用 例如 define COMMAND SPI 默认值是0吗 不 它的评估结果为零 从字面上看 该符号被替换为空 然而 一旦你有了 define FOO 预处理器条件 ifdef FOO现在将是真的 另

随机推荐

  • LINQ to SQL:并发解析

    鉴于此 LINQ to SQL using var db Database Context var root from post in db Post where post Id rootPostId select post Single
  • Haskell 将 Hom Functor/Monad 称为什么?

    我想在我的代码中使用它 并且不想重复它 但由于它只涉及大量通用单词 如 函数 或 组合 我无法通过搜索找到它 完全具体地说 我正在寻找 instance Functor x gt where fmap f p f p 这是基本的读取器 或环
  • 在 Java Swing 中播放视频

    我正在做一个关于视频隐写术的项目 我想到在Java Swing中播放这2个视频文件 以便更容易地比较文件 所以我想知道我们是否可以在 Swing 中播放视频 请帮帮我 您可能想看看Java媒体框架 http www oracle com t
  • 在 django 中获取相关值而不出现DoesNotExist 错误的最佳实践

    如果我在 Django 中有两个模型 class Blog models Model author models CharField class Post models Model blog models ForeignKey Blog 我
  • AJAX 不处理 302 重定向

    我在外部服务器上有一个数据库 我正在尝试查询该数据库 为此 我将在本地服务器 Tomcat 上创建一个 AJAX 调用 只是 XMLHttpRequest 对象 我没有使用任何 JavaScript 库 到附加了查询的页面 将完全相同的 U
  • 如何将数据从 Windows 窗体保存到 XML 文件?

    我非常确定我必须首先创建 XML 文件的某种模型 对吧 任何帮助将不胜感激 一种简单的方法是创建 NET 类 将数据放入其中然后使用Xml序列化器 http msdn microsoft com en us library system x
  • 在 Google 地图 v3 中绘制两点之间的路线时行为不一致

    场景 我试图在两者之间画一条路线n使用 Google 地图 v3 的点 纬度 局域网 为此 我正在使用DirectionsService它为我提供了一条路线 然后我将该坐标推入MVCArray然后使用 a 绘制该路径Polyline The
  • 饮食例外

    我正在解析一个不时包含格式错误的数据的文件 它抛出一个异常 我想从异常中恢复并忽略格式错误的数据 最好的方法是什么 try parse file catch Exception eat it EDIT 我认为 我的问题没有被很好地理解 我想
  • 如何在Flutter中将CameraController的XFile转换为Image类型?

    扑动的CameraController has a takePicture 从相机拍照的方法 给出了类型Future
  • 有没有办法不用每次验证就使用Google Api?

    我尝试在 PC 上的自动运行中使用 python 上的 API 但我不能 因为每次程序启动时 它都会询问我授权码 这是我的代码 client secret file client secret json flow google auth o
  • postgresql 分区上的唯一索引

    我有一个名为 cdrs 的表 CREATE TABLE cdrs i cdr bigint NOT NULL i cdrs connection bigint NOT NULL i call bigint NOT NULL customer
  • 单线程异步处理

    即使读完之后http krondo com p 1209 http krondo com p 1209 or 异步调用是否总是创建 调用新线程 https stackoverflow com questions 598436 does an
  • 像alert()函数一样停止页面执行

    当我写作时alert Hello 页面执行停止并等待批准才能继续 我有一个div设置为使用 HTML 显示为虚假警报 thisdiv有一个 确定 按钮 我希望页面停止执行 就像警报一样 直到用户单击 确定 是否可以 你不能 只有特殊的内置程
  • 如何将消息从 Flutter 传递到 Native?

    如果需要与特定 API 硬件组件交互 您如何将信息从 Flutter 传递回 Android Native 代码 是否有任何事件通道可以以其他方式发送信息或类似于回调的方式 The 平台频道 https flutter io platfor
  • 使用不同的密钥对同一文档中的 Xml 元素进行签名

    业务场景 更新可以包含包 包可以包含更改 每个包裹都必须经过某人的批准 批准后 不得更改套餐 要执行更新 必须具有 100 批准的软件包 发展思路 所有数据均保存为 XML 文件 Xml 包 元素将在批准后签署 Problem 无论我尝试什
  • 如何在 Mvccontrib 网格模型中使用自定义列?

    我正在使用 ASP NET MVC 3 Mvccontrib 网格 如下所示 Html Grid Model Columns column gt column For x gt x UserId Named ID column For x
  • Jenkins 插件的 .hpi 和 .jpi 有什么区别?

    我以两种方式安装了 Jenkins 插件 即手动保留 hpi文件位于 Jenkins 主目录中 并从 Jenkins 前端安装 管理 Jenkins gt 管理插件 我在这里注意到的是当我手动安装插件时 下载为 hpi文件 它以扩展名安装
  • 使用 Javascript 获取脚本文件的内容

    我的网页中有以下脚本元素 使用 JavaScript 我希望能够检索脚本文件的内容 我知道我可以使用 ajax 请求来获取数据 但随后我会从本地已有的服务器获取一些内容 所以我更愿意做的是从 DOM 中检索内容 如果可能的话 或具有相同结果
  • 用于分析 .NET 程序函数执行时间的工具

    有哪些工具可用于通过测量函数执行时间并生成图表来可视化调用图中各个点所花费的时间来分析 NET 程序 这会让你付出代价 但是Ants 性能分析器 http www red gate com products ants performance
  • 为什么允许空对象上的扩展方法?

    允许在空对象上调用扩展方法有什么意义 这使我不必要地检查扩展方法中的空对象 AFAIK 我无法理解这一点 请解释 扩展方法是 C 语言的语法糖 它们被编译为 ILCode 中的普通静态方法调用 静态方法在编译时不知道任何有关参数的信息