using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
public class ABC
{
public int Value { get; private set; }
}
internal class Program
{
static void Main()
{
Expression<Func<ABC, int>> expr = abc => abc.Value;
Console.WriteLine(((expr.Body as MemberExpression).Member as PropertyInfo).Name);
Yoba(5).ToList().ForEach(Console.WriteLine);
}
private static IEnumerable<int> Yoba(int x)
{
foreach (var v in Enumerable.Range(3, 9))
{
yield return v;
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5MaW5xLkV4cHJlc3Npb25zOwp1c2luZyBTeXN0ZW0uUmVmbGVjdGlvbjsKCgpwdWJsaWMgY2xhc3MgQUJDCnsKICAgIHB1YmxpYyBpbnQgVmFsdWUgeyBnZXQ7IHByaXZhdGUgc2V0OyB9Cn0KCmludGVybmFsIGNsYXNzIFByb2dyYW0KewogICAgc3RhdGljIHZvaWQgTWFpbigpCiAgICB7CiAgICAgICAgRXhwcmVzc2lvbjxGdW5jPEFCQywgaW50Pj4gZXhwciA9IGFiYyA9PiBhYmMuVmFsdWU7CgogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCgoZXhwci5Cb2R5IGFzIE1lbWJlckV4cHJlc3Npb24pLk1lbWJlciBhcyBQcm9wZXJ0eUluZm8pLk5hbWUpOwogICAgICAgIFlvYmEoNSkuVG9MaXN0KCkuRm9yRWFjaChDb25zb2xlLldyaXRlTGluZSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdGF0aWMgSUVudW1lcmFibGU8aW50PiBZb2JhKGludCB4KQogICAgewogICAgICAgIAogICAgICAgIGZvcmVhY2ggKHZhciB2IGluIEVudW1lcmFibGUuUmFuZ2UoMywgOSkpCiAgICAgICAgewogICAgICAgICAgICB5aWVsZCByZXR1cm4gdjsKICAgICAgICB9CgogICAgICAgIAoKICAgIH0KfQo=