I dont have much experience of using these 2 ways to extend a class or create extension methods against a class. By looking others work, I have a question here.
split the definition of a class or a struct, or an interface over two or more source files
Extension Method
Extension methods enable you to "add" methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type