extension-methods相关内容

C#、Linq2SQL:创建谓词以查找多个范围内的元素

假设我的数据库中有一个叫做 Stuff 的东西,有一个叫做 Id 的属性.从用户那里,我获得了一系列选定的 Range 对象(或者更确切地说,我从他们的输入中创建了它们)以及他们想要的 Id.该结构体的精简版本如下所示: public struct Range:IEquatable,IEqualityComparer>{公共TA;公共 T B;公共范围(T a, T b){一 = 一;乙=乙;} ..
发布时间:2022-01-07 16:11:52 C#/.NET

为什么在使用静态导入时不能将扩展方法作为静态方法调用?

背景: 我有一个静态类,但静态方法不是扩展方法.我决定将这些方法重构为扩展方法,并没有想到任何代码会中断,因为扩展方法可以像静态方法一样被调用.但是,当静态导入用于包含扩展方法的静态类时,代码确实会中断. 示例: 我有一个带有扩展方法和静态方法的静态类: 命名空间 UsingStaticExtensionTest.Extensions{静态类扩展类{内部静态无效测试1(本程序p ..
发布时间:2022-01-05 20:17:35 C#/.NET

在 .NET Framework 2.0 中使用扩展方法

在 Visual Studio 2008 下 我可以创建一个扩展方法来在 .NET Framework 2.0 项目下工作吗? 解决方案 有一个 丑陋的 hack 使扩展方法在 .Net 2.0 中工作;但最好只是将您的框架升级到 3.5. 替代来源:1、2. 简而言之(来自链接#2):扩展方法只是标有 [Extension] 属性的普通静态方法.这个属性实际上只是编译器在幕 ..
发布时间:2022-01-05 19:48:09 C#/.NET

为什么 VS 2008 在 Intellisense 中不显示 String 类的扩展方法

由于 String 实现了 IEnumerable,我期待在 Intellisense 中看到 Enumerable 扩展方法,例如,在 中输入句点时 String s = "asdf";s. 我期待看到 .Select(...)、.ToList() 等.然后我惊讶地看到扩展方法 do 实际上适用于字符串类,它们只是没有出现在 Intellisense 中.有人知道为什么是这样吗?这可能与这 ..
发布时间:2022-01-05 19:13:12 C#/.NET

我可以为我不直接控制的两个类添加隐式转换吗?

我希望能够在两个不兼容的类之间进行隐式转换. 其中一个类是 Microsoft.Xna.Framework.Vector3,另一个只是 F# 项目中使用的 Vector 类.我正在用 XNA 用 C# 编写一个 3d 游戏,虽然它是用 3D 绘制的,但游戏玩法只发生在二维(这是一个鸟瞰图).F# 类使用 2D 向量处理物理: type Vectorx.newValue(sqrt (x.un ..

C# 中的 F# 扩展方法

如果您在用 F# 编写的程序集中定义一些扩展方法、属性,然后在 C# 中使用该程序集,您会看到 C# 中定义的扩展吗? 如果是这样,那就太酷了. 解决方案 []模块方法 =[]让存在(选择:字符串选项)=匹配选择|一些 _ ->真的|无 ->错误的 此方法只能通过将命名空间(使用 using)添加 ..
发布时间:2022-01-05 09:35:34 C#/.NET

C# 有扩展属性吗?

C# 有扩展属性吗? 例如,我可以向 DateTimeFormatInfo 添加一个名为 ShortDateLongTimeFormat 的扩展属性,它会返回 ShortDatePattern + " " + LongTimePattern? 解决方案 目前 Roslyn 编译器仍然不支持开箱即用 ... 直到现在,扩展属性的价值还不足以包含在以前版本的 C# 标准中.C# 7 ..
发布时间:2022-01-02 18:05:10 C#/.NET

什么原因导致“扩展方法不能被动态调度"?这里?

编译错误 'System.Data.SqlClient.SqlConnection' 没有名为 'Query' 的适用方法,但似乎具有该名称的扩展方法.不能动态调度扩展方法.考虑强制转换动态参数或在没有扩展方法语法的情况下调用扩展方法. 现在,我知道如何解决这个问题,但我正在努力更好地了解错误本身.我正在构建利用 Dapper 的课程.最后,我将提供一些更多的自定义功能,使我们的数据访 ..
发布时间:2021-12-31 22:21:03 C#/.NET

C# Count() 扩展方法性能

如果在具有 Count 属性(例如 List),Count() 方法是否查找该属性并返回它(而不是通过枚举它们来计算项目)?以下测试代码似乎表明它确实如此: 使用系统;使用 System.Collections;使用 System.Collections.Generic;使用 System.Diagnostics;使用 System.Linq;命名空间 CountSpeedTest{//输出:/ ..
发布时间:2021-12-30 16:11:09 C#/.NET

如何在 Django 中链接视图?

我正在实施 James Bennett 出色的 django-contact-form 但遇到了障碍.我的联系页面不仅包含表单,还包含其他平面页面信息. 在不重写联系表单使用的现有视图的情况下,我希望能够包装或链接视图.这样我就可以通过上下文注入一些额外的信息,这样表单和平面页面数据就可以在同一个模板中呈现. 我听说它提到这是可能的,但我似乎无法弄清楚如何使它起作用.我创建了自己的包装 ..
发布时间:2021-12-29 18:18:22 Python

将范围添加到集合

今天一位同事问我如何将范围添加到集合中.他有一个继承自 Collection 的类.有一个该类型的 get-only 属性已经包含一些项目.他想将另一个集合中的项目添加到属性集合中.他怎么能以 C#3 友好的方式做到这一点?(请注意关于 get-only 属性的约束,这会阻止诸如联合和重新分配之类的解决方案.) 当然,一个带有属性的 foreach.添加将起作用.但是 List 样式的 Ad ..
发布时间:2021-12-27 17:53:50 C#/.NET

反射识别扩展方法

在 C# 中是否有一种使用反射来确定方法是否已作为扩展方法添加到类中的技术? 给定如下所示的扩展方法,是否可以确定已将 Reverse() 添加到字符串类中? 公共静态类 StringExtensions{公共静态字符串反向(此字符串值){char[] cArray = value.ToCharArray();Array.Reverse(cArray);返回新字符串(cArray);}} ..
发布时间:2021-12-26 14:05:36 C#/.NET