yms: (Default)
[personal profile] yms
Обнаружил в Джаве конструкцию, которой вроде бы нет в C#. Это определение анонимного класса прямо внутри оператора new, где создаётся его объект. Таким образом после слова new даже интерфейс может стоять, например:
return new MyInterface(param) { /*...implementation*.../ };

Date: 2004-02-20 09:54 pm (UTC)
From: [identity profile] yole.livejournal.com
Это будет поддерживаться в C# 2.0.

Re:

Date: 2004-02-20 10:12 pm (UTC)
From: [identity profile] yms.livejournal.com
Надо же, а я подумал, что они посчитали это ненужным...

Re:

Date: 2004-02-20 10:28 pm (UTC)
From: [identity profile] yole.livejournal.com
Этой фичей легко злоупотреблять (четырёхэтажные пирамидки из anonymous inner classes расшифровываются с большим трудом), но, например, нам в OmniaMea она будет крайне полезна.

Re:

Date: 2004-02-21 11:13 am (UTC)
From: [identity profile] ex-ilyavinar899.livejournal.com
И будет называться "анонимные делегаты".

private void CalledOnNonUIThread(string data)
{
BeginInvoke((MethodInvoker) delegate()
{
// This runs on the UI thread!
this.Text = data;
});
}

Profile

yms: (Default)
Michael Yutsis

March 2022

S M T W T F S
  12 345
678910 1112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 24th, 2026 09:39 am
Powered by Dreamwidth Studios