#if!USING_NET11使用System.Runtime.InteropServices.ComTypes是什么; #endif是什么意思?

时间:2010-06-29 17:38:52

标签: runtime system interopservices comtypes

以下代码的含义是什么?它的作用是什么?真的需要吗?

 #if !USING_NET11
 using System.Runtime.InteropServices.ComTypes;
 #endif

在我的项目文件中,我使用dshownet包装器实现了网络摄像头捕获。上面的代码在Form1.cs文件中。

2 个答案:

答案 0 :(得分:1)

System.Runtime.InteropServices.ComType是在.NET Framework 2.0版中引入的。代码似乎试图与1.1版本的框架兼容,只是如果编译的版本不是1.1,则只声明该命名空间上的using语句。

如果您执行Google search on USING_NET11,您会发现它指向了许多托管DirectX代码。

答案 1 :(得分:1)

这意味着:

using System.Runtime.InteropServices.ComTypes;
如果符号USING_NET11为false,

将仅编译到程序集中。

由于在.NET 2.0中添加了System.Runtime.InteropServices.ComTypes,因此该指令仍然可以针对.NET 1.1进行编译,因为新的引用将不会被编译。