I'm assuming this isn't possible but before digging further is there a way to do something like this:
public void ProcessInterface(ISomeInterface obj) {}
//...
dynamic myDyn = GetDynamic<ISomeInterface>()
ProcessInterface(myDyn);
I've seen a post arguing for it but it sounds like it wasn't included.
A little context: .Net assembly exposed through COM -> Silverlight app consuming interface-implementing classes. Would be nice to refer to the objects by interface. I really don't expect that this was what was intended...
No,
dynamic
won't make a type pretend to implement an interface (even if it has, viadynamic
, all the methods). Passing it toProcessInterface
essentially takes away thedynamic
.dynamic
depends on the calling code just as much as the implementing object. More, even.You could however make an interface wrapper that uses duck typing: