2011-01-17 2 views
9

Я привык к программированию в C#, и одна вещь, которую я скучаю по Java является то, что он, кажется, не имеют хорошие встроенные случае возможности обработки C# 's:Реализация C# -как событий в Android/Java

// define event signature 
public delegate void SomeEventHandler(); 

class SomeEventGenerator { 
    // define subscribable event property 
    public event SomeEventHandler SomeEvent; 

    protected void OnSomeEvent() { 
     if (SomeEvent != null) { 
      SomeEvent(); 
     } 
    } 
} 

class SomeEventClient { 
    public SomeEventClient(SomeEventGenerator eg) { 
     // subscribe 
     eg.SomeEvent += new SomeEventHandler(eg_SomeEvent); 
     // do some stuff 
     // unsubscribe 
     eg.SomeEvent -= new SomeEventHandler(eg_SomeEvent); 
    } 

    private void eg_SomeEvent() { 
     // handle event 
    } 
} 

Каков наилучший способ получить что-то подобное и легкое в Java/Android, которое имеет возможность подписываться/отписывать несколько клиентов событий и одновременно звонить всем подписчикам?

ответ

6

Вы бы хотели изучить концепцию слушателей в java. Я нашел очень хорошую статью под названием «C# с точки зрения разработчиков Java», которую вы можете проверить.

http://www.25hoursaday.com/CsharpVsJava.html

+0

Значит, вы должны сделать это сами. В этой статье есть небольшой раздел о событиях, которые я нашел полезными. Я создал некоторые 'OnSomeEventListener' интерфейсы и методы' addListener'/'removeListener' /' callListeners', поддерживаемые 'Vector . – jnylen

+0

Это хорошая запись. Спасибо за ссылку. –

Смежные вопросы