首页 > 代码库 > g.i.cs和g.cs

g.i.cs和g.cs

什么是Window1.g.i.cs文件?

通过Visual Studio 2008新创建一个WPF Application项目,在没有编译的情况下打开Window1.xaml.cs。鼠标右键单击InitializeComponent();这一代码行,选择Go To Definition菜单项。我们会看到其定义在一个叫做Window1.g.i.cs的文件之中。

对WPF比较熟悉的程序员知道:在编译WPF程序的时候,MsBuild通过调用Markup Compiler将Window1.xaml编译成为一个baml文件和window1.g.cs文件。这里的g的含义是“生成的”(Generated)意思。

可是Window1.g.i.cs文件呢?

这是只有在Visual Studio编程环境下才能看到的一个文件,g的含义同上,而 i 则是“智能感知”(Intellisence)的意思。为了能够让用户更方便的使用Intellisense,Visual Studio生成并且使用了Window1.g.i.cs文件。

如果在一次编译之后再Go To Definition,您就会发现这次打开的是Window1.g.cs文件。当然在编程的绝大多数时间里面,Window1.g.i.cs文件的使用率要高的多。g.cs是编译以后才产生的,没有编译的时候如果F12查找定义定位到的是g.i.cs