Dynamic resolution rules joy
In the following code, what do you believe the output should be?
class Program { static void Main(string[] args) { dynamic stupid = new Stupid{Age = 3}; Console.WriteLine(stupid.Age); } } public class Stupid : DynamicObject { public int Age { get; set; } public override bool TryGetMember(GetMemberBinder binder, out object result) { result = 1; return true; } }
Argh!
The default is to use the actual type members, and then fall back to the dynamic behavior. Whereas I would expect it to first check the dynamic behavior and then fall back to the actual members if it can’t find dynamic stuff.
Quite annoying.

Comments
Comment preview