是否可以禁止一個類的實例調用共享/靜態方法?禁止實例調用共享/靜態方法?
例如:
我想允許這樣的:
ClassName.MethodOne()
但我希望禁止這樣的:
Dim A As New ClassName
A.MethodOne()
的原因,這是可取的是,在這種情況下,語義混淆,如果一個實例可以調用該方法。
是否可以禁止一個類的實例調用共享/靜態方法?禁止實例調用共享/靜態方法?
例如:
我想允許這樣的:
ClassName.MethodOne()
但我希望禁止這樣的:
Dim A As New ClassName
A.MethodOne()
的原因,這是可取的是,在這種情況下,語義混淆,如果一個實例可以調用該方法。
據說它是由默認警告。但有可能將其推向錯誤。轉到VB.net項目的屬性,然後編譯選項卡,然後是警告配置。在那裏找到「實例變量訪問共享成員」並將其設置爲Error。現在它不會編譯。
沒有這是不可能在VB.Net。上面的代碼會發出警告(BC42025),但會成功編譯。唯一困難的選擇是將警告切換爲錯誤,這將防止此問題。