Можно использовать команду NET START и затем проверить переменную среды ERRORLEVEL, например,
net start [your service]
if %errorlevel% == 2 echo Could not start service.
if %errorlevel% == 0 echo Service started successfully.
echo Errorlevel: %errorlevel%
Правовая оговорка: я записал это из вершины моей головы, но я думаю, что это будет работать.
Вы можете сделать что-то вроде:
override int GetHashCode()
{
return Edges.Distinct().Aggregate(0, (x,y) =>x.GetHashCode() ^ y.GetHashCode());
}
Это просто, но должно согласовываться.