Don't use extension methods to set properties on the 'this' instance, call state-changing methods, modify any fields, etc. Extension methods should be self-contained, utilitarian, necessarily short/concise, and obvious as to their purpose, function, and effect. To summarize: They should not produce unexpected, non-obvious results.