Создание Базовых Фундаментальных классов

Я нашел этот код в другом месте, но действительно хотят знать, существует ли лучший путь.

HttpWebRequest req;
HttpWebResponse resp;
try
{
    req = (HttpWebRequest)WebRequest.Create("http://www.google.com");
    resp = (HttpWebResponse)req.GetResponse();

    if(resp.StatusCode.ToString().Equals("OK"))
    {
        Console.WriteLine("its connected.");
    }
    else
    {
        Console.WriteLine("its not connected.");
    }
}
catch(Exception exc)
{
    Console.WriteLine("its not connected.");
}

мне нравится идея способности контролировать, если соединение потеряно через событие NetworkChange, брошенное NetworkInterface. Мое приложение для использования неопытными пользователями на ноутбуках, где интернет-соединение ошибочно (часто в австралийской Необжитой местности).

5
задан James Hu 2 August 2009 в 00:25
поделиться

2 ответа

Предупреждаем: я считаю, что Core Foundation не имеет истинного наследования без загруженного Objective-C, и с загруженным Objective-C вы все равно получите (незначительные) связанные с этим замедления.

Вероятно, не будет. любая документация по нему, но это возможно. Чисто точно не будет. Попробуйте просмотреть исходный код CF-Lite (ссылка для Mac OS X 10.5.7), чтобы получить представление о реализации фреймворка.

Обратите внимание, что если накладные расходы Objective-C, о которых вы упоминаете, будут накладные расходы, связанные с вызовом сообщений, существует множество способов их оптимизации (например, метод -instanceMethodForSelector: ). Скорее всего, вы потратите больше времени, пытаясь проникнуть в структуру Core Foundation, чем пытаясь оптимизировать код Objective-C для его ускорения.

4
ответ дан 15 December 2019 в 01:08
поделиться

Технически основных классов Foundation не существует. Это непрозрачные типы.

0
ответ дан 15 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

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