I\'ve been struggling to find examples of how to write a custom attribute to validate method parameters, i.e., turn this form:
public void DoSomething(Client
Attributes are not enough for doing it.
If I understood you correctly you want to add an attribute on a parameter in order to validate it at run time and that is impossible only with attributes.
It is impossible because attributes are only "metadata" and not executed code.
You will need some "real" code to read it and act accordingly. That code can be injected at compile time or you can hook into the function execution.