нужен?
Можливість додавати функціональність до класу, який ти напряму не можеш розширювати. Приклад використання: клас знаходиться в одному Nuget пакеті, а методи розширення в іншому пакеті. Коли ти працюєш з фреймворками, то вони тобі надають уже готові механізми. Наприклад, у ASP.NET ти маєш доступ до HttpContext, а той в свою чергу може містити інформацію про користувача (пропертя User). Ти не можеш напряму розширити HttpContext чи ClaimsPrincipal типи. Проте можеш створити Extension методи. Оскільки магії тут ніякої немає, то коли ти створюєш extension, то маєш доступ лише до публічних методів/властивостей типу
Обсуждают сегодня