Значение по умолчанию для универсального предиката в качестве аргумента

Первый вопрос ко мне: )

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

Func<T, bool>

, а затем использовать его как аргумент по умолчанию. Примерно так:

public bool Broadcast(byte command, MemoryStream data, bool async, Func<T, bool> predicate = (T t) => true)

Когда я это делаю, я получаю ошибку компиляции:

Значение параметра по умолчанию для 'предиката' должно быть константой времени компиляции

Есть ли простой способ сделать это, которого мне не хватает, или следует ли сделать функцию-предикат допускающей значение NULL и соответственно изменить логику моей функции?

Спасибо,

21
задан Øyvind Bråthen 26 January 2011 в 12:29
поделиться