Why Predicate contains in and parentheses?

Predicate<string> blahBlah = (string b) => b.Equals(b.ToUpper());
As on the screenshot, this code is valid and I'm not doing something like <in string> and also there are no parentheses like Predicate<string>()
unknown.png
Was this page helpful?