В VB.NET я пытаюсь определить, какие службы запущены на TS, используя следующий код:
Imports System.ServiceProcess
...
Dim dictservice As Generic.Dictionary(Of String, Services)
Public Sub GetService()
Dim localServices As ServiceController() = ServiceController.GetServices()
For Each service As ServiceController In localServices
dictservice.Add(service.DisplayName, New Services(service.DisplayName, service.ServiceName, service.Status.ToString))
Next
End Sub
Мой класс услуг выглядит следующим образом:
Class Services
Private _displayName As String
Private _serviceName As String
Private _serviceStatus As String
Sub New(ByVal DisplayName As String, ByVal ServiceName As Object, ByVal ServiceStatus As String)
_displayName = DisplayName
_serviceName = ServiceName
_serviceStatus = ServiceStatus
End Sub
Public Overrides Function ToString() As String
Return _serviceStatus
End Function
End Class
Когда я вхожу в режим отладки, кажется, что он заполняет словарь
отображаемое имя: опыт применения
Название сервиса: AElookUpSVC
статус услуги: работает (4)
Когда он пытается перейти к следующему элементу, я получаю следующую ошибку:
Исключение нулевой ссылки не обработано:
Ссылка на объект не установлена для экземпляра объекта.
Я не могу на всю жизнь понять, где найти нулевую ссылку?