C# The call is ambiguous between the following methods or properties: F(double)' and 'F(decimal)'
Ambiguous call between overloads of two-way implicit castable types when a derived type of one is passed as parameter