Alexandre Bell
Alexandre Bell

Reputation: 3241

System.Type; implicit cast to string

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

Answers (1)

Jon Skeet
Jon Skeet

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

Related Questions