Method declarations should always follow this pattern:
[modifiers] returnType methodName([parameters])
There are no rules regarding the order of modifiers, but they should always precede the return type.
, - , , ... (public, private ..), static ( ), virtual, abstract override ( ).
. # (§10.6)