2014-09-03 3 views
1

Операция в программе, которая займет до «n» раз дольше, чем другая операция (так что мне нужно ждать «n» раз дольше до сбоя). Тайм-аут для другой операции сохраняется как TimeSpan. Как мне получить (OtherOperation.TimeSpan * 'n')?Каков наилучший способ получить кратность TimeSpan

ответ

0

Мы говорим .net?

Если это так, создайте новый временной интервал, используя timepan.frommilliseconds и передайте исходное значение .totalmilliseconds, умноженное на вашу константу.

Надежда, что помогает

+1

Спасибо, используя ваше предложение, кроме тиков вместо миллисекунд: 'TimeSpan timeout = TimeSpan.FromTicks (множитель множителя otherProcess.TimeOut.Ticks *);' –

+0

Рад, что помогло. – kidshaw

1

Вы могли бы рассмотреть написания метода расширения, такие как:

public static class TimeSpanEx 
{ 
    public static TimeSpan MultiplyBy (this TimeSpan t, int multiplier) 
    { 
     return new TimeSpan(t.Ticks * multiplier); 
    } 
} 

Теперь вы можете просто позвонить:

TimeSpan result = yourtimespan.MultiplyBy(3); 

Как и в сторону, это было бы действительно приятно, если можно просто перегрузить оператор * в методе расширения, но this is currently not possible.

Смежные вопросы