When to use object or dynamic type
Is there any specific case where those are a " proper way to do it", or is usually better to keep with the actual custom-made objects?
dynamicobject as an argument, it is usually possible to make it generic insteaddynamic in production code, and it was to do:
dynamicdynamicobjectvoid SomeMethod(MyOneObject x) => ...;
void SomeMethod(MyOtherObject x) => ...;
void SomeMethod(SomeWeirdObject x) => ...;
void GenericMethod<T>
{
T obj = ...;
SomeMethod((dynamic) obj);
}