Dot-Net

VB.NET 中的靜態方法實現

  • June 24, 2015

Static對 VB.NET 中的實現感到困惑。在 C# 中,我們可以創建靜態類和靜態方法來為我們的應用程序編寫實用方法。

現在,VB.NET 允許我們創建Module靜態類。如果我們在模組中創建一個方法,預設情況下它是靜態的。但在我的應用程序中,我編寫了以下程式碼:

Public Class Utility
   Public Shared Function GetValue() As String
      // My code
   End Function
End Class

通過編寫程式碼,我能夠以Utility.GetValue(). 由於這不是一個靜態類,我應該實例化它的一個對象。但是這個方法對類和對像都可用Utility

現在我的問題是:

  1. 我所做的實現是否可能違反模組提供的靜態類的任何特性?
  2. 這和實現一個模組有什麼區別?
  3. 如果我創建一個模組,它的範圍會和這個類一樣嗎?我想在整個項目以及引用該方法的其他項目中訪問該方法。

我嘗試查閱多篇文章,但沒有找到確切的答案。請幫忙。

VB.NET 模組一個靜態類。編譯器會為你處理這個。它上面的每個方法和屬性都是static( Shared)。

具有靜態(共享)成員的類正是:具有靜態(共享)成員的類。您不必創建它的實例來訪問靜態(共享)方法,但您必須訪問它的任何實例成員。

您還可以Sub New()在模組中定義 a,它成為模組的靜態建構子。第一次嘗試呼叫模組上的成員時,將呼叫靜態建構子來初始化靜態類。

引用自:https://stackoverflow.com/questions/31032363