System.Type; implicit cast to string
-
18-09-2019 - |
Question
While looking at the System.Type class under the Code Definition Window, I cannot seem to understand how an instance of this class is implicitly cast to string. For example, on the following code:
int foo = 0;
Console.WriteLine("Hi! I'm a type of type {0}", foo.GetType());
How was the System.Type resulting from GetType() implicitly cast to string?
Solution
It's not being implicitly cast to string. It's being converted to Object
(with the standard implicit reference conversion), and String.Format
is formatting it appropriately - by calling ToString
in this case.
This is not being done at compile-time. The code you've shown calls the Console.WriteLine(string, object)
overload.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow