[VS2010]原始碼不相容:在模組中不當使用 ‘Overloads’ 關鍵字

今天凌晨剛裝好 VS2010 ,當然得開啟一些舊程式跑,開到一個有用到 GIS 模組的專案時,發生了這個錯誤訊息:
在模組中不當使用 ‘Overloads’ 關鍵字
 
但是同一段程式碼在 VS2005/VS2008 都可以跑,比對了一下前兩者的線上手冊,都一樣,線上手冊位置如下:
 
而這兩個線上文件都寫可以透過宣告為 Public / Friend 來處理,摘錄如下:

若要修正這個錯誤

  • 如果想要這個程式設計項目是模組,請在它的宣告中只使用 PublicFriend 關鍵字。根據預設,如果您沒有指定存取層級,模組便會使用 Friend 關鍵字。

但是在 VS2010 沒找到有這方面錯誤訊息,可能還沒翻譯完,所以清單上還沒有:
 
目前暫時透過刪除 Overloads 可以解決這個問題,範例如下:

VS2010 拒絕編譯的寫法

Module Module1

    Friend Overloads Function Test1(ByVal vDbl As Double) As Double

        Return vDbl

    End Function

 

    Friend Overloads Function Test1(ByVal vInt As Integer) As Integer

        Return vInt

    End Function

End Module

 

 

VS2010 可以通過編譯的寫法

Module Module1

    Friend Function Test1(ByVal vDbl As Double) As Double

        Return vDbl

    End Function

 

    Friend Function Test1(ByVal vInt As Integer) As Integer

        Return vInt

    End Function

End Module

 

 
廣告
Categories: 技術分享 | 發表留言

文章分頁導航

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

在WordPress.com寫網誌.

%d 位部落客按了讚: