The generic member '{0}' has been used at a non-uniform instantiation prior to this program point. Consider reordering the ...

The generic member '{0}' has been used at a non-uniform instantiation prior to this program point. Consider reordering the members so this member occurs first. Alternatively, specify the full type of the member explicitly, including argument types, return type and any additional generic parameters and constraints.