I am feeling rather impish about this, so please don't think I would seriously try this as I know from bitter experience the strengths of a static type checking system.
But, as for a concept, would it be possible to basically do C# in a completely dynamic way, throwing the static type checker to one side and saying "pah, you're so old fashioned!".
I have recently had great experience of IronPython and F#, but I feel truly at home in a C based language.
How far can one take C# on the road to dynamics? I recently wrote an XML to ExpandoObject parser and that was great, it felt like javascript prototyping.
How optimised is the dynamic stuff, is it as quick as some of the real Dynamic programming language environments out there such as NodeJs and CPython?