using System.Threading.Tasks;
using System.Runtime.CompilerServices;
private int GetProp([CallerMemberName]string prop = null)
public static void Main()
var expando = new ExpandoObject();
dynamic dexpando = expando;
foreach (var prop in expando.GetType().GetProperties(BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.Public))
Console.WriteLine(prop.Name);