背景
我有几个实用方法我想添加到我正在使用的解决方案中,并且使用依赖注入将打开所述方法的更多潜在用途。
我正在使用 C#、.NET 4
这是我想要完成的一个例子(这只是一个例子):
public static void PerformanceTest(Func<???> func, int iterations)
{
var stopWatch = new Stopwatch();
stopWatch.Start();
for (int i = 0; i < iterations; i++)
{
var x = func();
}
stopWatch.Stop();
Console.WriteLine(stopWatch.ElapsedMilliseconds);
}
我在这里所做的是创建一种方法来测试我的代码的某些元素在调试时的性能。这是一个如何使用它的示例:
Utilities.PerformanceTest(someObject.SomeCustomExtensionMethod(),1000000);
问题
“PerformanceTest”方法期望传递(注入)已知类型的函数。但是,如果我希望“PerformanceTest”允许注入返回各种类型的各种函数呢?我怎么做?