Комментарии 3
Когда всё это появится в c#?
А то можно и так, наверное
using System;
public static class Logger
{
public static int Log(Func<int> expression)
{
try
{
int result = expression();
Console.WriteLine($"Result: {result}");
return result;
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
throw;
}
}
}
public static class Program
{
public static int loggedWorkflow()
{
return Logger.Log(() =>
{
int x = 42;
int y = 43;
int z = x + y;
return z;
});
}
public static void Main(string[] args)
{
int result = loggedWorkflow();
Console.WriteLine($"Final result: {result}");
}
}
Не знаю. Ходят слухи, что команда C# хочет что-то подобное затащить, но пока это только слухи, и не очень понятно, в каком объёме будут затаскивать.
С другой стороны — проект на F# вполне может держать в одном солюшене вместе с проектами на C#, так что уже сейчас можно писать, скажем, чистую бизнес-логику на F#, а инфраструктуру — на C#. Многие именно так и делают.
так у вас совсем не то же самое. надо ж после каждой строчки вывести лог.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Вычислительные выражения в F#