2012-04-24 52 views
-1

我寫這個類System.IO.FileInfo不降下來完成列表顯示在MonoDevelop中

using System; 
using System.IO; 
using Comparison.Strategies; // this namespace contains the ICompare interface 

namespace Comparison{ 

    public class FileNameCompare : ICompare 
    { 
     public bool compare(FileInfo a, FileInfo b) 
     { 
      a. 
     // ^
     // Pressing . does not show FileInfo properties or methods (!!) 
     } 
    } 
} 

問題是,當我按下.(見上面的代碼中的註釋),它沒有產品完成列表。當我按Ctrl + space它顯示完成列表,但不顯示FileInfo類的任何屬性。

  • 我的目標平臺在項目選項中設置爲Mono/.NET 2.0
  • 我也在其他完成列表正確顯示的項目中實現了相同的接口。
  • 如果我只是添加return true代碼編譯!

所以任何人都可以告訴我爲什麼.沒有觸發FileInfo類完成列表?和如何我可以修復它

更新:

當我按下按Ctrl + 空間System.IO.,在完成列表我看到這個之後,

enter image description here

+2

難道是因爲你使用Comparison.Strategies後缺少分號嗎?另外,你的'ICompare'接口看起來與.NET中包含的'IComparer '接口完全相同,所以你可能要考慮使用它。 – 2012-04-24 13:35:50

+0

@AllonGuralnek這是一個錯字。事實上,如果我只是在'compare'方法中添加'return true',我的代碼就會編譯。 :) – 2012-04-24 13:37:04

+0

@AllonGuralnek在寫入'System.IO.Fi'不在列表中顯示'FileInfo'後,還要按Ctrl + Space! – 2012-04-24 13:44:06

回答

1

好了,代碼完成和重構MonoDevelop中的引擎< = 2.8並不理想,目前正在使用NRefactory。您可以使用最新的MD測試版或從git源代碼編譯它來嘗試新的引擎。不過,你很可能要等到它穩定下來。

+0

我剛剛注意到它發生在我創建類庫並從不同名稱空間進行擴展和接口時發生。 – 2012-04-24 18:12:43

+0

@ shiplu.mokadd.im:問題在這裏和那裏,但IMO發佈錯誤沒有太大意義,除非您已經使用新的解析器。新的引擎可能很快到達MD,所以你只需要等待更好;) – 2012-04-24 18:15:50

相關問題