Re: Делегаты.
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.10.08 10:59
Оценка: +1
Здравствуйте, L0rdNet, Вы писали:

LN>Например, есть делегат следующий сигнатуру:

...
LN>То есть GUID я указываю один раз только при инициализаций второго делегата.
LN>И всегда когда вызывается первый делегат, сразу вызывается второй с привязанным GUID’ом.
LN>Во, как закрутил! Надеюсь, кто–то поймет.
Да, кажется это называется фиксация параметра.
Можно ручками сделать так: Создать класс-адаптер, который будет держать требуемый Guid и второй делегат. У класса определить метод с сигнатурой первого делегата, который делегирует второму делегату и передает туда Guid.

или так:


delegate void Test1(IPAddress IPAddress, Boolean Zip, Byte[] Data);
delegate void Test2(IPAddress IPAddress, Boolean Zip, Byte[] Data, Guid id);

static Test1 MakeTest1(Test2 test2, Guid id)
{
    return (ip, zip, data) => test2(ip, zip, data, id);
}

Что будет равносильно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.