Question
I've now read a lot about Duck Typing, and I seem to understand the concept.
What I've not understood is, in what case it does effectively make sense to abandon the benefits of strong typified programming to the benefits of Duck Typing. In what case would one use Duck Typing instead of Interfaces and Inheritance?
I mean if you anyway need to secure that an object passed to a Method implements certain methods, why shouldn't I simply define an Interface?
Just to be clear, I know how Duck Typing works. I want to know when it really makes sense to use it.
Clarification:
In which case would you use
public bool MyMethod(dynamic obj)
instead of
public bool MyMethod(ISomeInterface obj)
//or
public bool MyMethod(SomeBaseClass obj)