我有一段代碼從codeProject下載。Visusal Studio 2010 Express中忽略C#預處理器指令?
#if
預處理器指令看起來不像我預期的那樣工作。
我還沒有定義在MyProject的DSHOWNET >>屬性>>構建標籤>>條件編譯符號(對話框爲空)
在下面的代碼,錯誤DShowNET找不到顯示項目建成時。由於DSHOWNET從未被定義,所以我很驚訝'使用DShowNET'被處理。
using System;
using System.Collections;
using System.Runtime.InteropServices;
#if DSHOWNET
using DShowNET;
using DShowNET.Device;
#else
#if VS2003
#else
using System.Runtime.InteropServices.ComTypes;
#endif
using DirectShowLib;
#endif
#if預處理器指令是否在Visual Studio Express版本中工作? DSHOWNET是否需要明確地「未定義」?還是我錯過了其他一些基本概念?
看看'#if DSHOWNET '聲明裏面的代碼 - 它是灰色的還是它有正常的語法着色? – slugster
@slugster,語法着色表明else之後的語句被忽略。 shelleybutterfly下載了代碼,發現DSHOWNET WAS在解決方案的另一個項目中定義。感謝提示語法着色,這將在未來有用。 – DarwinIcesurfer