l--*_*''' 5 .net c# azure-functions
为什么要使用Func<string> 而不仅仅是 string?
我的问题特别是关于这个回购。
有问题的行是 22:
private static Func<string> getToken = () => Environment.GetEnvironmentVariable("GitHubToken", EnvironmentVariableTarget.Process);
Run Code Online (Sandbox Code Playgroud)
getToken封装一个没有参数的方法并返回一个string. 不简单地将此变量键入为字符串的原因是什么?
为什么要使用Func<string> 而不仅仅是 string?
我可以看到人们可能会这样做的五个原因:
async上下文中使用它变得更加容易,您可以在其中等待结果。您可以直接在任务中等待函数,而不必将属性包装为可等待方法。通常,如果函数产生的值在程序执行期间可能发生变化,则可以使用 aFunc<T>来代替。T
它对于 DI 场景也很有用,在这种场景中,函数的使用者不关心(或不应该知道,...)值来自哪里。它只需要能够生成当前正确的即可。
但在你的例子中似乎并非如此。在那里,你可以得到private static string token = ...相同的结果。
| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |