[The Go to Definition function] will show what the public definition of the type or member looks like by reading the metadata in the compiled assembly. Some tools, such as ILSpy .NET Decompiler, will even reverse-engineer from the metadata and IL code back into C# for you.

C# 9 and .NET 5 – Modern Cross-Platform Development

First of all, I would say that C# is a a programming language. Why does it say: "back" into C#? Does it mean that: there are some tools that return some data for you by the c# language?

  • This will be clearer if you include the preceding sentence in the quotation. I'll go ahead and edit that in for you.
    – Juhasz
    Sep 22, 2021 at 18:18

1 Answer 1


Programs are written in a programming language, like C#, and then a compiler turns them into object code.

What this tool does is take the object code, and give you C# source code. That is why the word back is used: it was once C#, then it was object code, and now it has returned to C# again.

  • The context mentions "assembly", so it's probably assembly code rather than object code. But otherwise I agree with this answer.
    – Juhasz
    Sep 22, 2021 at 18:25
  • So it Doesn't mean "It return the metadata by c#", It means that "it give me c# codes", am I right? Sep 22, 2021 at 20:36
  • Right, it means "it gives you C#". It uses the metadata to do that.
    – stangdon
    Sep 22, 2021 at 21:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .