问题标签 [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.
c# - 如何使用 out 参数声明泛型委托
Func<a, out b, bool>
,只是不编译,如何声明我希望第二个参数是out
一个?
我想像这样使用它:
c# - 带有 ref 变量的函数委托
如何为这个方法定义一个 Func 委托?
c# - 简而言之,关于 Func<> 可以说些什么
我已经看到Func<>一段时间了,我已经设法避免它(现在)。但是,现在看来,我永远无法躲避它。例如,我尝试了 Dynamic Linq,但几乎所有内容都是基于 Func<> 的。我已经尝试过我的一本书(C# 2008/Deitel&Deitel)和 MSDN,但我还没有得到它。他们都直奔主题。
- 关于 Func<> 可以说什么(几句话)
- 我可以在网络上获得一些可以让我开始处理这件事的链接吗?
感谢您的帮助
c# - Func + 扩展方法 + lambdas 中的 C# 歧义
我一直在努力完成这篇文章:
http://blogs.msdn.com/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx
...第 1 页上的某些内容让我感到不舒服。特别是,我试图围绕 Compose<>() 函数进行思考,并为自己编写了一个示例。考虑以下两个 Func:
没问题!很容易理解这两个做什么。
现在,按照文章中的示例,您可以编写一个通用扩展方法来组合这些函数,如下所示:
美好的。所以现在你可以说:
你得到字符串“50%”
到目前为止,一切都很好。
但这里有些模棱两可。假设您编写了另一个扩展方法,那么现在您有两个函数:
这里是歧义。这两个函数没有重叠签名吗?是的。这甚至可以编译吗?是的。哪一个被调用?第二个(显然给你“错误”的结果)被调用。如果您注释掉任何一个函数,它仍然可以编译,但您会得到不同的结果。
这似乎是在吹毛求疵,但这里有一些东西深深地冒犯了我的感情,我不能指望它。它与扩展方法有关吗?它与lambda有关吗?或者它是否与 Func<> 允许您参数化返回类型有关?我不确定。
我猜这一切都在规范中的某个地方得到解决,但我什至不知道谷歌要找到什么。
帮助!
.net-3.5 - 如何使用 Action 重构此代码或功能代表
我有一个示例程序,它需要按特定顺序执行 3 个方法。并且在执行每个方法之后,都应该做错误处理。现在我以正常的方式做到了这一点,没有使用这样的代表。
类程序 { 公共静态无效 Main() {
正如你所看到的,这段代码看起来很难看,有这么多的 try catch 循环,它们都在做同样的事情......所以我决定我可以使用委托来重构这段代码,以便可以将 Try Catch 全部推到一个方法中使它看起来整洁。我正在网上查看一些示例,但无法确定我是否应该为此使用 Action 或 Func 代表。两者看起来相似,但我无法清楚地知道如何实现这一点。非常感谢任何帮助。我正在使用 .NET 4.0,因此我也允许为此使用匿名方法 n lambda 表达式
谢谢
python - 将 Web 生成的配置文件发送到服务器并重新启动服务的方法
我们正在编写一个基于 Web 的工具来配置我们由多个服务器提供的服务。这包括接口配置、dhcp 配置等。
在生成正确输出的数据库和视图中有配置,如何发送/使其可用于服务器?
我正在考虑通过 scp 发送它并通过 ssh 调用 reload 命令到服务。我也在考虑使用 Func 来完成所有工作,因为这是 Python 工具,并且似乎会与基于 Python 的 (django) 配置工具集成。
还有其他建议吗?
.net - 你能得到一个 Func(或类似的)来自 MethodInfo 对象?
我意识到,一般来说,使用反射会影响性能。(实际上,我本人根本不喜欢反思;这是一个纯粹的学术问题。)
假设存在一些如下所示的类:
在这里忍受我。我知道如果我有一个MyClass
被调用的实例x
,我可以调用x.GetName()
。此外,我可以将Func<string>
变量设置为x.GetName
.
现在这是我的问题。假设我不知道上面的类被调用MyClass
;我有一些对象,x
但我不知道它是什么。我可以通过执行以下操作来检查该对象是否具有GetName
方法:
假设getName
不为空。那么我不能进一步检查是否getName.ReturnType == typeof(string)
和getName.GetParameters().Length == 0
,并且在这一点上,我不是很确定我的getName
对象表示的方法肯定可以以Func<string>
某种方式强制转换为 a 吗?
我意识到有一个MethodInfo.Invoke
,我也意识到我总是可以创建一个Func<string>
类似的:
我想我要问的是是否有任何方法可以从一个MethodInfo
对象转到它所代表的实际方法,从而在过程中产生反射的性能成本,但在那之后能够直接调用该方法(通过,例如, aFunc<string>
或类似的东西)没有性能损失。
我所设想的可能看起来像这样:
(我意识到这不存在;我想知道是否有类似的东西。)
c# - 谓词和 OrderBy , 函数
我知道谓词是委托给返回 bool 并采用泛型参数的函数,当我说:
它实际上意味着:
当我传递这个 lambda 表达式时,我传递的参数是:
public delegate bool Criteria<T>(T value)
原生地称为谓词
但是我不明白的是当我说的时候是什么意思mycustomer=>mycustomer.fullname
在customers.OrderBy(mycustomer=>mycustomer.fullname);
我如何实现类似的东西OrderBy
?如何告诉方法对哪个属性执行操作!像前面的例子一样?
举个例子,我想创建一个方法来获取特定属性的集合的所有值:
提前致谢。
linq - 使用带有 Func 的 Generic 作为参数
我的代码很简单:
我收到此错误:
错误 2 无法从用法中推断方法“System.Linq.Enumerable.Average(System.Collections.Generic.IEnumerable, System.Func)”的类型参数。尝试明确指定类型参数。
我怎样才能解决这个问题?