Методы расширения в C#

C# поддерживает несколько способов расширения существующих типов без изменения существующего кода.
Существует два разных способа: методы расширения и переопределение.

Методы расширения:

Методы расширения позволяют добавлять новые возможности к существующему типу. Вам не нужно вносить какие-либо изменения в существующий тип, просто принесите метод расширения в область видимости, и вы можете называть его как обычный метод экземпляра.
Методы расширения должны быть объявлены в негенерированном, не вложенном, статическом классе.

Пример:

Заметка:

  • Разница между регулярным статическим методом и методом расширения - это специальное ключевое слово для первого аргумента.
  • Метод расширения не может быть объявлен в классе или структуре.
  • Он также может быть объявлен на интерфейсе (например, IEnumerable <T>). Обычно интерфейс не будет иметь никакой реализации. Однако с помощью методов расширения вы можете добавлять методы, которые будут доступны для каждой конкретной реализации интерфейса
  • Language Integrated Query (LINQ) - один из лучших примеров того, как вы можете использовать этот метод для улучшения существующего кода.

Примеры использования для методов расширения в C#

Давайте обсудим несколько вариантов использования для использования методов расширения.

1. Присоединить метаданные к перечислениям с помощью методов расширения

вы можете добавить метод к вашему перечислению, чтобы получить доступ к значениям, прикрепленным к атрибутам.

Давайте создадим атрибут для этого примера.

Давайте создадим Enum:

Наконец, нам нужно добавить метод расширения для доступа к этим атрибутам:

Теперь давайте проверим этот пример:

Выход будет:
Культуры для английского языка:
en-UK
en-US
Культуры для испанского языка:
es-MX
es-ES

2. Ускорение запросов с помощью PLINQ

Вы можете использовать метод расширения AsParallel () для ускорения запросов с помощью PLINQ

Если ваш первоначальный запрос

Где ComplexCriteria () является просто произвольной булевой функцией, которая анализирует значения в данных, то вы можете распараллелить это с помощью простого добавления:

Визуальная студия поддерживает множество методов расширения. Visual Studio отмечает методы расширения в IntelliSense со стрелкой вниз, чтобы упростить их идентификацию.

В этой статье мы изучили метод расширения в C# и различные варианты использования для него.

Источник: http://www.csharpstar.com/extension-methods-csharp/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *