Multiply agora está disponível para TimeSpan !!!
Mas apenas para .NET Core e .NET Standard .
Desde o .NET Core 2.0 (ou .NET Standard 2.1 ), você pode executar com êxito o seguinte código:
Console.WriteLine(TimeSpan.FromSeconds(45) * 3);
Limitações
No entanto, é importante observar ( conforme descrito no documento ) que isso se aplica apenas a .NET Core 2.0 + e .NET Standard 2.1 +.
A partir de hoje (26 de novembro de 2019), o código acima irá falhar mesmo na versão mais recente do .NET Framework : 4.8 .
Se você tentar o código acima em um aplicativo de console , por exemplo, executando o .NET Core 1.1 ou inferior, ou .NET Framework 4.8 ou inferior, você verá a seguinte exceção:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:
'Operator '*' cannot be applied to operands of type 'System.TimeSpan' and 'int''
Por que não no .NET Framework?
Para entender por que diabos não podemos usar o código acima no .NET Framework, é esclarecedor ver o que Immo diz :
.NET Core é a versão de código aberto, multiplataforma e de rápida evolução do .NET. Por causa de sua natureza lado a lado, ele pode aceitar alterações que não podemos arriscar aplicar de volta ao .NET Framework. Isso significa que o .NET Core obterá novas APIs e recursos de linguagem com o tempo que o .NET Framework não consegue. No Build, mostramos uma demonstração de como as APIs de arquivo são mais rápidas no .NET Core. Se colocarmos essas mesmas alterações no .NET Framework, poderemos quebrar os aplicativos existentes, e não queremos fazer isso.