using System;
using System.Dynamic;
class Dinamica : DynamicObject {
public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result) {
result = null;
Console.WriteLine($"Executando método \"{binder.Name}\".");
return true;
}
}
public class Program {
public static void Main(string[] args) {
dynamic din = new Dinamica();
din.NaoExiste();
}
}
//https://pt.stackoverflow.com/q/137542/101
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uRHluYW1pYzsKIApjbGFzcyBEaW5hbWljYSA6IER5bmFtaWNPYmplY3QgewogICAgcHVibGljIG92ZXJyaWRlIGJvb2wgVHJ5SW52b2tlTWVtYmVyKEludm9rZU1lbWJlckJpbmRlciBiaW5kZXIsIG9iamVjdFtdIGFyZ3MsIG91dCBvYmplY3QgcmVzdWx0KSB7CiAgICAgICAgcmVzdWx0ID0gbnVsbDsKICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoJCJFeGVjdXRhbmRvIG3DqXRvZG8gXCJ7YmluZGVyLk5hbWV9XCIuIik7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9Cn0KIApwdWJsaWMgY2xhc3MgUHJvZ3JhbSB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgZHluYW1pYyBkaW4gPSBuZXcgRGluYW1pY2EoKTsKICAgICAgICBkaW4uTmFvRXhpc3RlKCk7CiAgICB9Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzEzNzU0Mi8xMDE=