Partial Class vs Extension Method

Some of differences that will determine whether you want to use a Partial Class or an Extension Method are

Partial Class

  • Only works against classes in the same project/assembly
  • Target class has to be marked as partial
  • Has access to the Target class’ fields and protected members
  • Target must be a class implementation

Extension Method

  • Can be applied against classes in other assembles
  • Must be static, has access to only the Target classes public members
  • Target of extension can be a concrete type, or an abstract type or interface

Leave a Comment