It seems that every time dynamic
is used by the caller of a generic method, the type actually used is a simple object
. For example, the code:
No, you cannot. Dynamic is all in the eye of the beholder (meaning: the compiler). It is implemented as dynamic. You can, however, check for IDynamicMetaObjectProvider
: if an object implements that, the caller is probably talking about dynamic
. Unfortunately, reflection also works inside dynamic
, but will not involve IDynamicMetaObjectProvider
at all.