问题标签 [func]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1517 浏览

c# - 正确地在单个扩展方法中开始和结束调用

我想与其他人仔细检查这是否是创建扩展方法的正确方法,该方法开始异步过程并返回一个函数,该函数在调用时基本上等待该过程并获得结果。

本质上我想像这样使用它(伪代码):

不确定我是否需要担心在这种情况下等待 WaitHandles。也不确定是否需要传入回调。我也认为这构成了关闭?

编辑

就这样结束了,

这似乎运作良好。回调检查是否已调用 EndInvoke,如果没有,则调用它。否则在返回的委托中调用 EndInvoke。

第二次编辑

这是我最近的尝试——还没有向我抛出任何错误,而且似乎处理得很好。我无法让它在委托返回 function.EndInvoke() 结果的地方工作,但委托会等到在匿名回调中调用 EndInvoke 后再返回 R。不过,Thread.Sleep() 可能不是最好的解决方案。也可以使用更多检查来确保在每种情况下都实际分配了 R。

0 投票
3 回答
6706 浏览

c# - 系统动作作为事件处理程序

什么反对使用委托System.ActionSystem.Func作为 EventDelegates 而不是经典EventHandler模式。我会因此遇到问题吗?

用法:

0 投票
2 回答
3494 浏览

c# - C#:具有继承类型的构造函数的函数

正如我们所知,您可以像这样指向构造函数Func<T>

但是有没有办法为一个你知道继承自 MyObject但你不知道它的确切类型的对象创建一个构造函数?

使用Activator或任何返回的答案Object不是一种选择。

编辑:我不知道在编译时派生类型是什么类型。我只有一个System.Type

0 投票
8 回答
4529 浏览

c# - 功能委托现实世界使用

我最近一直在玩委托Func<T, TResult>,并创建返回Func<T, TResult>包含 lambda 的不同实例的方法,但我一直在努力想出的是关于为什么人们可能想要返回(甚至创建这样的实例)的任何好的现实世界想法。

在MSDN上有一个示例,他们执行以下操作...

尽管它看起来很漂亮并且是一个有趣的概念,但我看不到这样的代码提供了哪些优势。

那么这里有人可以提供他们必须使用Func<T, TResult>的任何现实世界的例子吗?一般来说,为什么人们可能想要使用这个代表?

0 投票
3 回答
169 浏览

c# - 避免泛型参数

我有以下扩展方法,它断言属性(Id)包含指定的属性(TV):

该方法可以这样调用:

编译就好了。我想知道是否可以从方法签名中删除 T 和 TT 。T 因为在 T 上调用了 ShouldHave 为什么不需要显式指定它。TT 是表达式 (x.Id) 中引用的属性的类型。

0 投票
3 回答
621 浏览

c# - 紧凑框架函数问题

我正在尝试在后台工作进程上做一些工作,当工作完成时,我想显示一个模式对话框。我的代码可以很好地用于一个简单的 Action 委托,但希望能够传入一个 Func 委托并获得一个返回类型。到目前为止,我有一个带有方法的表格

我接下来想要工作的是

到目前为止我还没有运气,因为我在声明我的 _workWithReturn 的类型时一直摔倒

有人有想法吗?

这是完整的代码。

0 投票
3 回答
2491 浏览

c# - C# WCF 关闭通道并使用函数 Func

这就是重点,我有一个 WCF 服务,它现在正在工作。所以我开始在客户端工作。当应用程序运行时,出现异常:超时。所以我开始阅读,有很多关于如何保持连接活跃的例子,但是,我也发现最好的方法是创建通道,使用它,然后处理它。老实说,我喜欢这样。所以,现在阅读关闭频道的最佳方法,有两个链接可能对任何需要它们的人有用:

1.清理客户,正确的方式

2. 使用函数

在第一个链接中,这是示例:

因此,如果通道不为 null,则关闭、处置并分配 null。但我有一个小问题。在此示例中,通道具有 .Close() 方法,但在我的情况下,智能感知没有显示 Close() 方法。它只存在于工厂对象中。所以我相信我必须写它。但是,在具有合同的接口或实现它的类中?而且,这个方法应该怎么做???。

现在,下一个链接,这有一些我以前没有尝试过的东西。Func<T>. 而且看了目标之后,还蛮有意思​​的。它创建了一个函数,使用 lambdas 创建通道、使用它、关闭它并丢弃它。此示例像Using()语句一样实现该功能。这真的很好,而且是一个很好的改进。但是,我需要一点帮助,老实说,我无法理解这个功能,所以,专家的一点解释将非常有用。这是功能:

这就是使用方式:

是的,我认为它真的非常好,我想了解它以便在我的项目中使用它。

而且,像往常一样,我希望这对很多人都有帮助。

0 投票
5 回答
1983 浏览

c - Optimized implementations of some functions from ctype.h

In one of my C application I am using, below functions from ctype.h :

isalpha(), isspace(), ispunct(), tolower().

After profiling I see there are some bottlenecks in the calls of these functions(Basically my app is a character/string processing from a input text file and hence these functions are called exhaustively inside critical loops)I want to optimize them for speed and have my own implementation if it helps.

Where can I find such or logic to implement them?

0 投票
6 回答
56011 浏览

map - 功能图

我有一个定义了函数的 Go 程序。我还有一张地图,每个功能都应该有一个键。我怎样才能做到这一点?

我已经尝试过了,但这不起作用。

0 投票
2 回答
2918 浏览

c# - C# - 如何将引用传递给需要输出变量的函数?

错误:“参数 2 不应与 'out' 关键字一起传递。”

错误:“无效的变体修饰符。只能将接口和委托类型参数指定为变体。”

如何在此函数中获取 out 参数?