托管代码指的是必须依靠.NET框架解释运行的代码,非托管代码一般指的是传统的不需要借助.NET框架解释的代码。在.NET出现之前,如VB,C++,DELPHI编写的程序都是非托管代码。
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
MarshalAs属性指示如何在托管代码和非托管代码之间封送数据。
很多时候我们想直接在.NET中调用我们以前写好的非托管程序或组件,这样就会出现托管代码与非托管代码之间互相调用,数据交换的问题,而MarshalAs语法就是定义非托管
数据类型与大小的。