.NET, эквивалентная для GetLastInputInfo?

. СЕТЕВАЯ Платформа 3.5 имеет диапазоны:

Счетный. Диапазон от MSDN

, с которым можно использовать его, "содержит" и оператор IF, так как как кто-то сказал, что Оператор переключения использует "==" оператор.

Здесь пример:

int c = 2;
if(Enumerable.Range(0,10).Contains(c))
    DoThing();
else if(Enumerable.Range(11,20).Contains(c))
    DoAnotherThing();

, Но я думаю, что мы можем развлечься еще больше: так как Вам не будут нужны возвращаемые значения, и это действие не берет параметры, можно легко использовать действия!

public static void MySwitchWithEnumerable(int switchcase, int startNumber, int endNumber, Action action)
{
    if(Enumerable.Range(startNumber, endNumber).Contains(switchcase))
        action();
}

старый пример с этим новым методом:

MySwitchWithEnumerable(c, 0, 10, DoThing);
MySwitchWithEnumerable(c, 10, 20, DoAnotherThing);

, Так как Вы передаете действия, не значения, необходимо опустить круглую скобку, это очень важно. Если Вы нуждаетесь в функции с аргументами, просто изменяете тип Action к Action. При необходимости в возвращаемых значениях используйте Func.

В C# 3.0 нет никакого легкого Частичное Приложение для инкапсуляции факта, параметр случая является тем же, но Вы создаете немного вспомогательного метода (немного подробный, tho).

public static void MySwitchWithEnumerable(int startNumber, int endNumber, Action action){ 
    MySwitchWithEnumerable(3, startNumber, endNumber, action); 
}

Здесь пример того, как новый функциональный импортированный оператор, по моему скромному мнению, более мощен и изящен, чем старый обязательный.

11
задан Danny Beckett 4 August 2014 в 01:44
поделиться

2 ответа

В .NET BCL нет прямого перевода этого конкретного API. К счастью, это очень простой метод P / Invoke .

При этом есть и другие способы попытаться проверить состояние простоя пользователя. Большинству из них по-прежнему требуется P / Invoke на каком-то уровне (по крайней мере, для всех тех, которые обрабатывают другие приложения).

Вот статья CodeProject , в которой сравниваются параметры.

9
ответ дан 3 December 2019 в 10:04
поделиться

Если нет другого вызова для этого Pinvoke.net предоставляет решение P / Invoke для этого вызовите и необходимую структуру .

1
ответ дан 3 December 2019 в 10:04
поделиться