Список <T>, где T является анонимным возможным делегатом?

Создайте отдельный текстовый файл, содержащий все команды, которые Вы обычно вводили бы в приложение оболочки sqlite3:

CREATE TABLE log_entry ( <snip> );
.separator "\t"
.import /path/to/logfile.log log_entry

Сохраняют его как, скажем, impscript.sql.

Создают пакетный файл, который называет оболочку sqlite3 с тем сценарием:

sqlite3.exe yourdatabase.db < /path/to/impscript.sql

Вызов пакетный файл.

На ноте стороны - при импорте, удостоверяются, что обернули ВСТАВКИ в транзакцию ! Это даст Вам мгновенное 10 000%-е ускорение.

6
задан t3rse 20 September 2009 в 01:10
поделиться

3 ответа

Вы можете написать это, например

        Action<int> method = j => j++;
        List<Action<int>> operations = new List<Action<int>>();

        operations.Add(method);
        operations.Add(i => i++);
16
ответ дан 8 December 2019 в 12:21
поделиться

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

Action method является экземпляром, тогда как Действие - это тип.

Как упоминает другой плакат, вам просто нужно объявить тип списка как Action , то есть только с параметром типа.

например,

var myNum = 5;

var myops = new List<Action<int>>();
myops.Add(j => j++);
myops.Add(j => j++);

foreach(var method in myops)
{
   Console.WriteLine(method(myNum));
}

// Frowned upon, but fun syntax

myops.Each(method => method(myNum));
3
ответ дан 8 December 2019 в 12:21
поделиться

Конечно, можно создать список определенного типа делегата, например Action, Func или любых других. Поскольку анонимные делегаты могут быть преобразованы в любой тип делегата с совместимой подписью, вы можете создать список делегатов, если у них есть совместимые подписи.

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

0
ответ дан 8 December 2019 в 12:21
поделиться
Другие вопросы по тегам:

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