using System;
public class Test
{
static void Main(string[] args)
{
Foo(5, () => gt);
Console.ReadKey();
}
private static int gt
{
get
{
Console.WriteLine("чтение переменной");
return 100;
}
}
static void Foo(int z, Func<int> getData)
{
Console.WriteLine("метод");
if (z >= 10)
{
Console.WriteLine("переменная больше 10");
}
else
{
Console.WriteLine("переменная = " + getData());
}
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgewogICAgICAgIEZvbyg1LCAoKSA9PiBndCk7CgogICAgICAgIENvbnNvbGUuUmVhZEtleSgpOwogICAgfQoKCXByaXZhdGUgc3RhdGljIGludCBndAogICAgewogICAgICAgIGdldAogICAgICAgIHsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoItGH0YLQtdC90LjQtSDQv9C10YDQtdC80LXQvdC90L7QuSIpOwogICAgICAgICAgICByZXR1cm4gMTAwOwogICAgICAgIH0KICAgIH0KCglzdGF0aWMgdm9pZCBGb28oaW50IHosIEZ1bmM8aW50PiBnZXREYXRhKQoJewoJICAgIENvbnNvbGUuV3JpdGVMaW5lKCLQvNC10YLQvtC0Iik7CgkgICAgaWYgKHogPj0gMTApCgkgICAgewoJICAgICAgICBDb25zb2xlLldyaXRlTGluZSgi0L/QtdGA0LXQvNC10L3QvdCw0Y8g0LHQvtC70YzRiNC1IDEwIik7CgkgICAgfQoJICAgIGVsc2UKCSAgICB7CgkgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCLQv9C10YDQtdC80LXQvdC90LDRjyA9ICIgKyBnZXREYXRhKCkpOwoJICAgIH0KCX0KfQ==