我正在使用新的.Net 4.5功能將Optional
參數指定爲方法簽名中的OptionalAttribute
(請參閱MSDN),如下所示。如何將可選參數在C#中的OptionalAttribute設置爲當前目錄?
public void GenerateReport(int ReportId, [Optional] string saveToFolderPath)
這工作正常。
如果可選saveToFolderPath
參數未通過,我想使用靜態方法Directory.GetCurrentDirectory
將值saveToFolderPath
設置爲當前工作目錄。
當我嘗試鍵入,我得到以下警告/錯誤。
的屬性參數必須是常量表達式的typeof屬性參數類型的表達 或數組創建表達式
所以是我的選擇限制到檢查如果saveToFolderPath
參數是null
或方法內部是空的,而不是簽名本身?
換句話說,我的問題是,如何將使用OptionalAttribute語法的可選參數的值設置爲當前目錄?
哇!然後傳奇@Jon Skeet回答了我的問題。我感到很榮幸。 – Shiva