Делегаты: действие предиката Func

Нет чувствительности, нет проблем : Я второй, что Клаус сказал: содержит ли этот код что-нибудь чувствительное? [ 1114] Обычно чувствительные аспекты вращаются вокруг лицензирования или ключей , которые вы хотите защитить. Обязательно скомпилируйте двоичные файлы режима Release (было бы здорово, если бы не требования времени выполнения на обычных машинах также не выполнялись).

Защита конфиденциальной информации : Некоторое время назад я написал целый контрольный список по вопросу предотвращения распространения конфиденциальной информации с помощью вашего решения для развертывания: Как избежать случайно распространил конфиденциальную информацию в моем MSI? (один из тех растягивающихся ответов, которые сходят с ума, пока вы пишете, - все же стоит потратить деньги).

Собственный код : Если у вас есть серьезные проблемы с чувствительностью, я бы скомпилировал настраиваемое действие C ++ вместо настраиваемого действия управляемого кода, чтобы сделать что-то еще »[115 ] до металла ". Это также отлично подходит для обеспечения минимальных зависимостей времени выполнения (статическое связывание).

blockquote>

Открытый исходный код : Откровенно говоря, я бы рассмотрел открытый исходный код всего своего установочного кода, если нет чувствительности. Если у пользователей есть проблема, они могут отлаживать себя сами, хотя во многих случаях выгода от этого может быть просто ужасной. Вы можете закрыть отдельные индивидуальные действия, которые требуют чувствительности. Я бы использовал открытый исходный код в качестве аргумента продаж - да, вы можете увидеть наш исходный код настройки для настройки в вашей среде, если это будет необходимо.

Установка похожа на резюме: она существует только как средство доставки чего-то еще ценного? Само по себе оно не имеет значения. Вы хотите продажи своего программного обеспечения в первую очередь? И безопасность конечно. Разрешение пользователям компилировать свои собственные настройки из ваших источников также может привести к проблемам - конечно. Вы хотите поддержать самоскомпилированную установку?

129
задан Michiel van Oosterhout 28 January 2012 в 16:00
поделиться

2 ответа

  • Predicate: по существу Func<T, bool>; задает вопрос "указанный аргумент, удовлетворяет условие, представленное делегатом?" Использовал в вещах как Список. FindAll.

  • Action: Выполните действие, учитывая аргументы. Очень общая цель. Не используемый очень в LINQ, поскольку это подразумевает побочные эффекты в основном.

  • Func: Используемый экстенсивно в LINQ, обычно для преобразования аргумента, например, путем проектирования сложной структуры к одному свойству.

Другие важные делегаты:

  • EventHandler / EventHandler<T>: Используемый на всем протяжении WinForms

  • Comparison<T>: Как IComparer<T>, но в форме делегата.

177
ответ дан 24 November 2019 в 00:31
поделиться
[

] В дополнение к ответу Джона, есть также [

] [
    ] [
  • ][]Converter[]: По сути это []Func[], но с семантикой. Используется List.ConvertAll и Array.ConvertAll, но лично нигде его не видел[
  • ]. [
]
9
ответ дан 24 November 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: