我想同时启动一个Task对象集合,等待所有对象完成.以下代码显示了我想要的行为.
public class Program
{
class TaskTest
{
private Task createPauseTask(int ms)
{
// works well
return Task.Run(async () =>
// subsitution: return new Task(async () =>
{
Console.WriteLine($"Start {ms} ms pause");
await Task.Delay(ms);
Console.WriteLine($"{ms} ms are elapsed");
});
}
public async Task Start()
{
var taskList= new List<Task>(new[]
{
createPauseTask(1000),
createPauseTask(2000)
});
// taskList.ForEach(x => x.Start());
await Task.WhenAll(taskList);
Console.WriteLine("------------");
}
}
public static void Main()
{
var t = new TaskTest();
Task.Run(() => t.Start());
Console.ReadKey();
}
} …Run Code Online (Sandbox Code Playgroud) 我开始使用 C# 源生成器。
我想要的是启动一个git describe --tags --long进程并GitVersion使用当前标签和哈希代码作为属性填充静态类。
问题是,我没有关于引用项目的目录的信息,所以我不知道在哪里运行 git 进程。GeneratorExecutionContext我在函数的参数中找不到任何有用的信息Execute。
AppDomain.CurrentDomain指向 csc.exe 进程,所以我想没有办法知道它在那里?