nameof (C# Reference)

Další skvělá feature C# 6.0, žádné hardcoded řetězce:

using Stuff = Some.Cool.Functionality
class C {
static int Method1 (string x, int y) {}
static int Method1 (string x, string y) {}
int Method2 (int z) {}
string f<T>() => nameof(T);
}

var c = new C()

nameof(C) -> "C"
nameof(C.Method1) -> "Method1"
nameof(C.Method2) -> "Method2"
nameof(c.Method1) -> "Method1"
nameof(c.Method2) -> "Method2"
nameof(z) -> "z" // inside of Method2 ok, inside Method1 is a compiler error
nameof(Stuff) = "Stuff"
nameof(T) -> "T" // works inside of method but not in attributes on the method
nameof(f) -> "f"
nameof(f<T>) -> syntax error
nameof(f<>) -> syntax error
nameof(Method2()) -> error "This expression does not have a name"

 

 

Zdroj: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/nameof

Převod textu na řeč ve Win10 – jak si ušetřit čas a rozbít si produktivitu multitaskingem

Přemýšlel jsem, jak si ušetřit čas a některé aktivity paralelizovat, první co mě napadlo a chtěl jsem vyzkoušet, strojové čtení textů různých blogů, zpráv, twitteru, tedy ideálně v browseru označit text a kontextovým menu přidat do fronty k přečtení. Druhá předpokládaná feature byla nastavení rychlosti čtení, tedy zrychlit cca o 50% čtení a i zde najít časové rezervy.  Nečekal jsem žádné zázraky, ale že nebude nic pro ČJ?

První cesta mě i napadla, nějaký translator a zadat do něho překlad z CZ a spustit si čtení:

Pak jsem ale zjistil, že ve Win10 Creators Update je český TTS (text-to-speech) pod hlasem Microsoft Vit Mobile, nevím jestli nad tím někdo v MS přemýšlel, ale nechápu jak by to z toho mohl někdo poznat, naštěstí „Vit“ neznamená, že to pro MS namluvil Marek Vít 🙂 to bych snad opravdu musel přejít na Linux.

Pak už jen stačí doinstalovat aplikaci využívající API TTS ve Win10 (což také není zrovna nějaká hitparáda ve WinStore vzhledem k tomuto novému API), nerozumím proč to nemá alespoň EDGE nativně, nicméně existují aplikace jako ReadAloud (ve WinStore), které dobře poslouží. Není tam sice integrace do ostatních aplikací jak bych čekal, ale i za copy&paste jsem vděčen, respektive po zkopírování do schránky to rovnou nabízí čtení 🙂

Pitomé je, že když všechno toto vyzkoušíte, přijdete na to, že se opravdu nelze reálně soustředit na tolik věcí najednou a buď si nepamatujete práci, nebo „podcast“, každý si na to musí přijít sám 🙂