Используйте делегат без или с назначениемC#

Место общения программистов C#
Ответить
Anonymous
 Используйте делегат без или с назначением

Сообщение Anonymous »

Есть ли преимущество использования делегатов в создании выделенной переменной вместо простого использования имени функции?
Этот отрывок из полного примера кода основан на видео: Как FP заставил меня понять «Лучшие шаблоны проектирования», Зоран Хорват.

Код: Выделить всё

public static PasswordPolicy AtLeast(int length) =>
input => input.Length >= length;

public static PasswordPolicy ContainsUpperLetter =>
input => input.Any(char.IsUpper);

PasswordPolicy minLengthPolicy = AtLeast(8);
PasswordPolicy upperLetterPolicy = ContainsUpperLetter;

PasswordPolicy combinedPolicy = minLengthPolicy // or AtLeast(8)
.And(ContainsUpperLetter) // or upperLetterPolicy
.And(specialCharPolicy);
Если интересно, есть ли какая-либо разница или польза от использования minLengthPolicy и UpperLetterPolicy по сравнению с AtLeast(8) и containsUpperLetter

Код: Выделить всё

AtLeast(8)
// versus
minLengthPolicy
// and
.And(ContainsUpperLetter)
// versus
.And(upperLetterPolicy)

Поскольку подсветка синтаксиса не работает на 100%, вот скриншот netpad и полный пример кода для Netpad
Изображение


Подробнее здесь: https://stackoverflow.com/questions/793 ... assignment
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»