Есть ли обходной путь для обновления параметра ref внутри анонимного метода?
Я знаю, что анонимный метод не разрешает доступ к параметрам ref внешней области, но есть ли другой способ сделать это? Я использую внешнюю библиотеку для MessageStream, поэтому не могу изменить аргументы делегата...
void DoWork(ref int count)
{
MessageStream Stream = new MessageStream();
Stream.MessageReceived += (o, args) =>
{
//Error cannot use ref or out parameter inside anonymous method
count++;
};
}
Stream.MessageReceived
будет поднят до того, какDoWork
вернется. Вы можете быть в этом уверены? - person   schedule 13.05.2014ref
в этом параметре? Вы уверены, что вам это нужно? Очень редко можно увидеть его использование. Если вы можете показать нам больше о том, как это используется, мы могли бы предложить другой способ, который будет работать правильно. - person Tim S.   schedule 13.05.2014