天天看点

VB.NET 笔记1

为了看懂 dnn,今天开始学习一点 VB.NET.

先写了个简单的代码:

Imports  System

'  定义一个模块

Public   Module  Module1

     Public   Sub  Hello()

        Console.WriteLine( " Hello World! " )

     End Sub

End Module

Public   Class  Test

     '  主程序入口点

     Public   Shared   Sub  Main()

        Module1.Hello

     End Sub

End Class

用 vbc.exe vb_module1.vb 命令编译。

为了看清楚 Module 到底是个什么东西,我用 ildasm 看了一下。部分代码如下:

. class   public  auto ansi  sealed  Module1

       extends [mscorlib]System.Object

{

  .custom instance  void  [Microsoft.VisualBasic]Microsoft.VisualBasic.CompilerServices.StandardModuleAttribute::.ctor()  =  (  01   00   00   00  ) 

}  //  end of class Module1

原来,Module 也是一个类而已。不过他被附加了特殊的 Attribute, 从而表现的跟普通的类有不同的地方。

下面有功夫时要用 Reflector 看一下该 Attribute 到底是如何一个实现原理。