While DynamicObjects
and ExpandoObjects
(Differences between ExpandoObject, DynamicObject and dynamic) sound quite useful at first, i did never actually use them. It feels like late-binding is quite unsafe/unstable since it might throw errors at run-time which could've otherwise been avoided. In general MSDN points out several advantages of early-binding and suggests not to use late-binding at all if possible (https://msdn.microsoft.com/en-us/library/0tcf61s1.aspx).
Since I was never in a situation that i could not solve without late-binding and since it seems to be considered 'bad style', I would like to know if there are there situations that actually require the use of late-binding. Do you have any examples where you used late-binding (in particular the DynamicObject or ExpandoObject) and had a good reason for this design choice exept for it being "easy to code"?