You have to specify
out explicitly. How would you do this with an extension method? Moreover, would you really want to?
TestClass x = new TestClass(); (ref x).ChangeWithExtensionMethod(otherTestClass); // And now x has changed?
Or would you want to not have to specify the
ref part, just for the first parameter in extension methods?
It just sounds weird to me, to be honest, and a recipe for unreadable (or at least hard-to-predict) code.