Как обработать, добавляет запрос во вкусе API

В C# нет никаких деструкторов. Это - Финализатор, который является другой вещью.

различие - необходимо ли очистить управляемые объекты или нет. Вы не хотите пытаться очистить их в финализаторе, поскольку они, возможно, самостоятельно были завершены.

я просто недавно, оказалось, смотрел страница Destructors Руководства по программированию C#. Это показывает, что я ошибался в своем ответе, выше. В частности, существует различие между деструктором и финализатором:

class Car
{
    ~Car()  // destructor
    {
        // cleanup statements...
    }
}

эквивалентно

protected override void Finalize()
{
    try
    {
        // Cleanup statements...
    }
    finally
    {
        base.Finalize();
    }
}

5
задан 26 August 2009 в 12:20
поделиться

1 ответ

Я еще не пробовал, но думаю, что приведенные ниже должны работать. При использовании ручного режима необходимо зарегистрировать PacketListener, который прослушивает пакеты Presence, которые имеют тип Presence.Type.subscribe .

Сначала установите список:

    Roster roster = connection.getRoster();
    roster.setSubscriptionMode(Roster.SubscriptionMode.manual);

Затем добавьте список пакетов к указанному выше соединению, например:

connection.addPacketListener(new SubscriptionListener(), new PacketFilter(){

                public boolean accept(Packet packet) {
                    if(packet instanceof Presence)
                        if(((Presence)packet).getType().equals(Presence.Type.subscribe))
                            return true;
                    return false;
                }});

Приведенный выше код просто возвращает истину для всех запросов, но вы можете настроить его, т.е. установить значение true или false в зависимости от ввод графического интерфейса пользователя.

9
ответ дан 18 December 2019 в 13:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: