Вопросы с тегом 'anonymous-methods'

Анонимный метод - это процедура или функция, у которых нет связанного с ней имени.
5
ответов

Есть ли причина повторного использования С# переменной в foreach?

При использовании лямбда-выражений или анонимных методов в С# мы должны опасаться доступа к модифицированной ловушке закрытия. Например: foreach (var s in strings) { query = query.Where(i => i.Prop == s); // access to modified closure ... }...
задан 17 янв. '12 в 20:21
11
ответов

Отменить анонимный метод в С#

Можно ли отменить анонимный метод из события? Если я подписался на такое событие: void MyMethod() { Console.WriteLine("I did it!"); } MyEvent += MyMethod; Я могу отказаться от такой подписки: MyEvent -= MyMethod; Но если я подписываюсь с ...
задан 08 окт. '08 в 18:24
6
ответов

ключевое слово delegate или lambda

Как только он скомпилирован, существует ли разница между: delegate { x = 0; } и () => { x = 0 } ?
задан 18 нояб. '08 в 21:38
6
ответов

Анонимный метод в вызове Invoke

Имея немного проблем с синтаксисом, когда мы хотим анонимно вызвать делегат в Control.Invoke. Мы попробовали несколько разных подходов, все безрезультатно. Например: myControl.Invoke(delegate() { MyMethod(this, new MyEventArgs(someParameter)); });...
задан 31 окт. '08 в 13:49
4
ответов

В С#, почему анонимный метод не может содержать инструкцию yield?

Я подумал, что было бы неплохо сделать что-то подобное (с лямбдой, возвращающей доходность): public IList<T> Find<T>(Expression<Func<T, bool>> expression) where T : class, new() { IList<T> list = GetList<T>();...
задан 02 авг. '09 в 2:10
9
ответов

Как вы используете Func <> и Action <> при разработке приложений?

Все примеры, которые я могу найти о Func < > и Action < > , являются simple, как в приведенном ниже, где вы видите, как они технически работают, но я хотел бы, чтобы они использовались в примерах, где они решать проблемы, которые ранее ...
задан 08 окт. '09 в 15:07
9
ответов

Если не использовать лямбда-выражения

На Qaru ответят на множество вопросов, в которых участники указывают, как решить эти проблемы реального мира/времени, используя лямбда-выражения. Используем ли мы это чрезмерное использование и рассматриваем влияние производительности на использован...
задан 23 марта '09 в 13:49
7
ответов

Добавление и удаление анонимного обработчика событий

Мне было интересно, действительно ли это работает? private void RegisterKeyChanged(T item) { item.OnKeyChanged += (o, k) => ChangeItemKey((T)o, k); } private void UnRegisterKeyChanged(T item) { item.OnKeyChanged -= (o, k) => ChangeI...
задан 12 янв. '10 в 21:27
6
ответов

Может ли анонимный метод называть С#?

У меня есть следующий код: class myClass { private delegate string myDelegate(Object bj); protected void method() { myDelegate build = delegate(Object bj) { var letters= string.Empty; if...
задан 30 июля '09 в 22:12
3
ответов

С# Невозможно использовать параметр ref или out внутри тела анонимного метода

Я пытаюсь создать функцию, которая может создать действие, которое увеличивает любое целое число. Однако моя первая попытка дает мне ошибку "не может использовать параметр ref или out внутри тела анонимного метода". public static class IntEx { p...
задан 21 нояб. '10 в 5:25
7
ответов

Как отменить регистрацию "анонимного" обработчика событий

Скажите, если я слушаю событие: Subject.NewEvent += delegate(object sender, NewEventArgs e) { //some code }); Теперь, как я могу зарегистрировать это событие? Или просто пропустить утечку памяти?
задан 28 авг. '09 в 19:35
6
ответов

анонимные делегаты в С#

Я не могу быть единственным, кто устал от определения и назначения делегата только за один вызов того, что требует делегата. Например, я хотел вызвать .Refresh() в форме из возможных других потоков, поэтому я написал этот код: private void RefreshFo...
задан 10 июня '09 в 23:47
2
ответов

Компилятор генерировал неверный код для анонимных методов [MS BUG FIXED]

Смотрите следующий код: public abstract class Base { public virtual void Foo<T>() where T : class { Console.WriteLine("base"); } } public class Derived : Base { public override void Foo<T>() { Console...
задан 10 окт. '12 в 9:49
7
ответов

Может ли кто-нибудь объяснить мне анонимные методы?

Delphi 2009, среди некоторых классных вещей, также просто получил анонимные методы. Я видел примеры и сообщения в блогах об анонимных методах, но я их пока не получаю. Может кто-нибудь объяснить, почему я должен быть взволнован?
задан 02 нояб. '08 в 0:37
2
ответов

Лямбда-выражение против анонимных методов

Я хотел бы знать, в чем разница. В настоящее время я изучаю этот материал, и мне кажется, что они такие же: delegate void X(); X instanceOfX; instanceOfX = delegate() { code }; instanceOfX = () => { code }; Также, если лямбда новее, следует ...
задан 08 февр. '11 в 17:54