In PHP, I can try to call any method that might exist on an object like this:
$object->{$method}();
Where $object is our PHP Object and $method is the name of the method that we want to call. I can dynamically call any method this way.
Is there any C# equivalent to this? Or am I just “doing it wrong”? I have a plugin/module loaded in via Reflection and I’d like to call a method on it that is not defined in the interface.
Thanks!
Contrary to PHP, C# is a statically typed language meaning that types need to be known at compile time. Although such method has been introduced in C# 4.0. It’s the dynamic keyword. It allows you to declare a variable of a dynamic type and call whatever method you like on it and the compiler won’t protest. The resolution will be done at runtime:
Another more classic method is to use reflection but this could quickly turn into a nightmare.