Что делает #if! USING_NET11 using System.Runtime.InteropServices.ComTypes;# конец значит? - PullRequest
1 голос
/ 29 июня 2010

Что означает следующий код и для чего он нужен? Это действительно требуется?

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

В моем файле проекта я реализовал захват веб-камеры с помощью оболочки dshownet. Приведенный выше код был в файле Form1.cs.

Ответы [ 2 ]

1 голос
/ 29 июня 2010

Это означает, что:

using System.Runtime.InteropServices.ComTypes;

будет скомпилировано в сборку только в том случае, если символ USING_NET11 имеет значение false.

Поскольку System.Runtime.InteropServices.ComTypes был добавлен в .NET 2.0, эта директива означает, что код будет по-прежнему компилироваться в .NET 1.1, поскольку новая ссылка не будет компилироваться в.

1 голос
/ 29 июня 2010

System.Runtime.InteropServices.ComType был представлен в .NET Framework версии 2.0. Кажется, что код пытается быть совместимым с версией 1.1 платформы, только объявив оператор using в этом пространстве имен, если скомпилированная версия не 1.1.

Если вы выполните поиск Google по USING_NET11 , вы обнаружите, что он указывает на большое количество управляемого кода DirectX.

...