【发布时间】:2019-05-20 03:14:37
【问题描述】:
我想使用这样的方法:
public void A(Action<Action<string>> x)
{
for (int i = 0; i < 10; i++)
{
x.Invoke(data => {
Console.WriteLine($"{data} --- {i}");
});
}
}
这里的想法是,(此方法的)用户将输入另一个方法,该方法可以从偏好的数据源生成字符串。
假设我想为用户提供一些内置解决方案作为静态方法:
public void B(string fileName, Action<string> y)
{
// process fileName
string data = C(fileName);
// invoke inner action
y.Invoke(data);
}
用例是:
A(B("/home/user1"));
问题在于 B 仍然需要为 fileName 提供另一个参数
我该怎么做?
【问题讨论】:
-
旁注:你为什么要
.Invoke而不是像x(data =>...)这样称呼它? -
这只是个人喜好
标签: c# .net-core asp.net-core-2.1