Reputation: 3241
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?
Upvotes: 1
Views: 570
Reputation: 1503459
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.
Upvotes: 4