文章预览
点击上方 蓝字 江湖评谈 设为关注/星标 前言 在一些Soure Code看到 有部分 函数(比如Main)多变体类型返回,及其所在类型变化等。较高的自由度,本篇来看下。 Program+Main 一个新建的常规.NET控制台程序如下: class Program { static void Main ( string [] args ) { } } 注意看Program是个类,即引用类型,但它可以写成struct值类型。Main函数的返回值是void,但它的返回值可以写成int类型,byte,char,string类型。比如说值类型的Program,以及返回int的类型,如下代码: struct Program { static int Main ( string [] args ) { } } 这种情况得益于CLR调用Main入口的时候的一套逻辑,即if----else。CLR会判断Main的MethodDesc是否是void类型,如果是则if。否则就可以有其其它的返回类型,这个其它返回类型众多,也即是上面所说。此段逻辑代码:
………………………………