Extension methods آپ کو موجودہ types میں methods "شامل" کرنے دیتے ہیں (بشمول وہ types جن کی آپ کو ملکیت نہیں، جیسے string یا int) انہیں modify کیے بغیر یا inherit کیے بغیر۔ یہ static methods کے طور پر define ہوتے ہیں جن کے پہلے parameter پر this modifier ہوتا ہے، اور انہیں instance methods کی طرح call کیا جاتا ہے۔ LINQ ان پر بنایا گیا ہے۔
