2010-03-15 3 views
0

Я пишу альтернативу if/else, используя метод, управляемый таблицей.Вопрос о словаре делегатов

Я следующий код:

var map = new[] 
{ 
    new 
    { 
     Predicate = new Func<Type, bool>(type => type.IsInterface), 
     Selector = new Func<Type, Delegate>(str, sww.Invoke()) 
    } 
}; 

В селекторе, я хочу вернуть delagate, который я могу ссылаться (указывает на другой метод), либо указать в строке (например, (delegate() { // Do something here. })

.

Я использую (и модификации) код отсюда: Table Driven Method issue

Как я могу это сделать

ответ

3

Вместо Delegat e, вы можете использовать определенный тип делегата, такой как Действие:

Selector = new Func<Type, Action>(str, sww.Invoke) 
Смежные вопросы