Я использовал ModuleInit.Fody для создания кода, который должен вызываться при загрузке сборки. В этом коде мне нужно сделать некоторую операцию в задаче. К сожалению, есть проблема с этим кодом ... код внутри задачи не запускается. когда я использовал этот же код после инициализации модуля, работал как шарм.
Некоторый тестируемый код
public static class ModuleInitializer
{
public static AsyncCallback callback;
public static void Initialize()
{
callback = ar => Console.WriteLine("Result");
ConsoleThread(() => ModuleInitializer.RunThread(1));
Console.WriteLine("Compleate");
Console.ReadKey();
}
public static void ConsoleThread(Action inputFunct)
{
IAsyncResult result = inputFunct.BeginInvoke(callback, null);
}
public static void RunThread(int i)
{
Console.WriteLine($"Thread {i}");
}
public static void Test()
{
}
}
и program.cs
class Program
{
static void Main(string[] args)
{
ModuleInitializer.Test();
}
}
Кто-нибудь знает, каксоздать код, который будет запущен во втором потоке или это невозможно? Может быть, кто-то знает какой-либо другой способ создания кода инициализации, который можно запустить в потоке?
С уважением, Шимон Щепаньски