extension-methods 相关问题

扩展方法是某些语言的语言特性,如Swift,Visual Basic.NET和C#。扩展方法使您可以向现有类型“添加”方法,而无需创建新的派生类型,重新编译或以其他方式修改原始类型。

C 转义序列在什么意义上是“可扩展的”?

来自 Kernighan 和 Ritchie,第 8 页: 请注意 仅代表单个字符。像这样的转义序列 提供了一种通用且可扩展的机制来表示难以键入的内容 或隐形...

回答 1 投票 0

如何为 postgres 编写 C++ 扩展?

我在这个链接中找到了一些在PostreSQL中使用C++函数的东西,但是它给出的博客提供了C++14和postgres无法访问。我为 c 扩展添加了 util.cpp 和 util.h,并尝试调用 func Pri...

回答 1 投票 0

kotlin 接口中定义的扩展函数的可见性

我正在开发“15 人游戏”的示例项目。游戏板上的单元格定义为: 封装板 枚举类方向{ 上、下、右、左; } 数据类 Cell(val i: Int, val j...

回答 1 投票 0

这个扩展方法可以重构吗?

我有以下扩展方法: public static void ThrowIfArgumentIsNull(此T值,字符串参数) 其中 T :类 { 如果(值==空) { 扔新的

回答 8 投票 0

如何在Swift中访问UIColor的扩展?

我正在尝试创建 UIColor 类的 Swift 扩展作为 扩展 UIColor { func getCustomBlueColor() -> UIColor { 返回 UIColor(红色:0.043, 绿色:0.576, 蓝色:0.588, alpha:1...

回答 9 投票 0

在实现附加 IEnumerable<>

我需要在已经派生自 Dictionary 的类上实现 IEnumerable>>> 我需要在已经派生自 IEnumerable<KeyValuePair<int,IEnumerable<KeyValuePair<DateTime,double>>>> 的类上实现 Dictionary<int,Dictionary<DateTime,double>>不幸的是,当我尝试访问像 Any() 这样的 LINQ 扩展并返回 CS1061: 时,编译器会感到困惑 public interface MyInterface : IEnumerable<KeyValuePair<int, IEnumerable<KeyValuePair<DateTime, double>>>> { } public class MyClass : Dictionary<int,Dictionary<DateTime, double>>, MyInterface { //setting GetEnumerator() to public yields an CS0106 IEnumerator<KeyValuePair<int, IEnumerable<KeyValuePair<DateTime, double>>>> IEnumerable<KeyValuePair<int, IEnumerable<KeyValuePair<DateTime, double>>>>.GetEnumerator() { yield break; } static public void Foo(IEnumerable<KeyValuePair<int, IEnumerable<KeyValuePair<DateTime, double>>>> data) { //processing data... } static void Demo() { var mc = new MyClass(); //stops working if MyInterface is implemented: mc.Any();//CS1061 Foo(mc); } //Workaround for specific LINQ-extensions: //public bool Any() => this.Any(); } 最终,该类在方法中用作参数,例如 Foo(...) 需要比 Dictionary 更通用。 我们如何在 MyClass 上使用 LINQ,同时实现 MyInterface? (提供另一种将 MyClass 传递到 Foo 的方法也会有所帮助,但这不是问题的答案)。 一个非常相似的问题的答案(LINQ 在实现 IEnumerable 两次时感到困惑 - 案例 2)不满足要求。由于需要实现 MyInterface,我需要包装基类并重定向所有使用的字典方法 - 我很高兴有一个更优雅的解决方案。 因为你的类实现了: IEnumerable<KeyValuePair<int, IEnumerable<KeyValuePair<DateTime, double>>>> IEnumerable<KeyValuePair<int, Dictionary<DateTime, double>>> 编译器无法推断你要调用哪个Any方法,它需要你帮助它做出决定,比如你想在第一个接口上调用Any: mc.Any<KeyValuePair<int, IEnumerable<KeyValuePair<DateTime, double>>>>();

回答 1 投票 0

EF Core 将实体映射到模型

我正在尝试有效地将实体映射到模型上。 我的实体是: 公共类父实体 { 公共 int Id { 得到;放; } 公共字符串名称{获取;放; } 公共 ChildEntity 子 ...

回答 1 投票 0

C# System.MissingMethodException

我实现了一些 Excel.Range 扩展方法,这些方法已经运行良好一段时间了。 下面的方法仍然有效(我使用 Excel = Microsoft.Office.Interop.Excel 指定了范围;因为

回答 1 投票 0

是否可以在 dart 中创建字符串扩展 `isEmptyOrNull`?

首先让我们为这个扩展定义一些标准: 如果对象为 null 或空字符串,则应返回 true。 我应该能够在链接的可为空对象上使用它。 我不应该...

回答 1 投票 0

Dart 扩展:List 的动态索引

你能给我一些关于在 Dart 中为 List 对象创建动态索引扩展的建议吗 下面是我的意思: 最终列表 myList = ['一', '二', '三']; // 默认情况下,得到一个

回答 1 投票 0

Kotlin Coroutine 的 block.startCoroutine() 是如何工作的?

我正在KEEP中阅读协程提案。我在协程构建器部分遇到了这段代码。 有趣的发射(上下文:CoroutineContext = EmptyCoroutineContext,块:挂起() - >

回答 1 投票 0

如何从 Intellisense 中删除 LINQ 扩展方法?

基本上我想要这个问题的反面:Intellisense 停止为 Linq to Entities 工作 自从我下载 VS 2022 并将我的项目升级到 .NET 7 以来,这让我抓狂 VS 正在放置...

回答 1 投票 0

扩展方法。不包含定义,并且没有接受类型的第一个参数的扩展方法

我编写了以下扩展方法: 使用系统; 使用 System.Collections.Generic; 使用 System.Linq; 命名空间 Cortana.Extensions { 公共静态类 LinqExtensions { ...

回答 2 投票 0

如何将其添加到带有 svg 扩展名的图标?

我想创建自己的图标。为此,我创建了带有扩展名的 CustomIcon。 图标上的扩展 CustomIcons { 图标获取 panelIcon =>Icon( 图标: SvgPicture.asset("asset/svg/one.sv...

回答 2 投票 0

如何正确管理扩展(包括覆盖)

所以这是非常具体的。我正在编写一个应该灵活的框架。为了实现这一目标,我希望用户能够将自己的代码添加到某些函数的末尾或覆盖该函数

回答 1 投票 0

C# 子对象上的 null 检查扩展方法不起作用

我有一个空检查扩展方法 public static IEnumerable OrEmptyIfNull(此 IEnumerable 源) { 返回源码?? Enumerable.Empty(); } 这是n...

回答 2 投票 0

扩展类只能访问一种方法

我有这个 StringExtensions 类 公共静态类 StringExtensions { 公共静态字符串LeftOf(字符串输入,字符串分隔符,StringComparison sc = StringComparison.OrdinalIgnoreCase) ...

回答 1 投票 0

覆盖 CSS 的边缘扩展

当在 Edge 中加载 PDF 时,我想删除一个“保存”和“另存为”按钮。从 Web 服务器加载的 pdf 以及本地文件都会出现这种情况。 我已加载扩展程序并且弹出窗口是...

回答 2 投票 0

无法调用Enum扩展方法

我想为我的 Enum 优雅地创建一个扩展方法,以将值打印为字符串。我编写了以下静态扩展方法: 公共枚举流派 { 行动, 惊悚片, 共...

回答 1 投票 0

将扩展方法放在一个文件中还是多个文件中?

我使用VS 2012,我有一些扩展方法。 我想知道组织扩展方法的最佳策略。 我可以创建一个文件,如 ExtensionMethods.cs 并将所有扩展名放在...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.