Member 13541763 Ответов: 1

Экземпляр класса wifiadapter


я пытаюсь работать с сетями Wi-Fi. для этого я использую WiFiAdapter но я не могу создать его экземпляр, так как он говорит, что у него нет интерпретатора параметров X. затем я попытался просканировать сети и сохранить его в памяти. wifinetworkreport но это дает ту же самую проблему.

Что я уже пробовал:

WiFiNetworkReport networkReport; ;
networkReport = wiFiAdapter.NetworkReport;
IReadOnlyList<WiFiAvailableNetwork> readOnlyList = new List<WiFiAvailableNetwork>();
readOnlyList = networkReport.AvailableNetworks;



но это дает Пустой указатель Итак, как можно получить сети из этого класса или создать экземпляр классов, которые не имеют конструкторов? разве у них нет конструкторов по умолчанию?

Gerry Schmitz

Вам нужно показать больше кода ... например, то, что вы делали с / к (местным) "wifiAdapter".

1 Ответов

Рейтинг:
2

Daniel Wosch

Да, вы не можете создать экземпляр этого класса.
Вам нужно использовать, например, следующее:

WiFiAdapter wiFiAdapter = WiFiAdapter.FindAllAdaptersAsync().GetResults().First();

- Получить все Wi-Fi-адаптер системы
- Получите первый, который является экземпляром WiFiAdapter

Или вы можете использовать этот подход для итерации по каждому адаптеру и выполнения определенного действия:
private async void WiFiAdapterSample()
        {
            var systemsWiFiAdapter = await WiFiAdapter.FindAllAdaptersAsync();
            foreach (var wifiAdapter in systemsWiFiAdapter)
            {
                // do something
            }
        }


Member 13541763

этот код генерирует ошибку msg о том, что он(возвращаемый тип) не содержит определения для 'getawaiter' и т. д.

Member 13541763

я сделал это плохим способом, но, тем не менее, это работает. мой код таков

var list = WiFiAdapter.FindAllAdaptersAsync();
Thread.Sleep(timeout);

пока все работает нормально хотя это и не очень хороший способ

Daniel Wosch

Конечно.
Поскольку используется асинхронный метод, вам нужно использовать ключевое слово await, опубликованное во втором примере кода, работающем с циклом foreach.
Ваш код использует поток.Сон-плохой стиль для достижения этой цели.