A contractor where I work is using extension methods to implement CRUD on well-known internal classes that we own. I say it is better
extension methods
CRUD
Extension Methods is a language feature. The compiler makes regular IL (aka MSIL or CIL) code from that. No reflection required.
Extension Methods
IL
MSIL
CIL