2012-03-16 65 views
1

這是爲什麼?我有一種感覺,它與我的控制器有關。System.IO沒有爲MVC控制器中的File提供方法,但System.IO.File確實爲

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using NidecMotorXref.MvcUI.BaseControllers; 
using System.Web.Mvc; 
using LINQtoCSV; 
using System.IO; 

    [HttpPost] 
    public virtual ActionResult Matches(ImportModel model, string save, HttpPostedFileBase fileUpload) 
     { ... } 

這些都是我的參考,但File.Delete(「myfileName」)不會解決,而我的更高級的行爲就像它應該。儘管我的解決方案適用於System.IO.File,但我很好奇爲什麼它不能解決我的參考問題?

+0

它可能與'Controller.File'不明確? http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.file.aspx – David 2012-03-16 18:14:18

+0

也許,只是覺得它很奇怪,它不會同時允許。 – 2012-03-29 14:14:48

+0

兩者都應該被允許,但如果引用不明確,那麼編譯器不會試圖找出它,它只會抱怨。您可以在'using'指令中將其中的一個別名替換爲稍微不同的名稱,或者在聲明它們時使用更全面的限定名稱。 – David 2012-03-29 14:27:54

回答

0

控制器定義了一個名爲File的方法,因此編譯器會在解析符號File時選擇此方法。

當在不包含File符號的類中使用時,編譯器將通過使用語句解析,因此File.Delete可用於其他類。

相關問題