为啥模块中的这个公共函数无法访问
Posted
技术标签:
【中文标题】为啥模块中的这个公共函数无法访问【英文标题】:Why is this Public Function in a Module not accessible为什么模块中的这个公共函数无法访问 【发布时间】:2016-08-11 07:40:13 【问题描述】:我有一个由几个有用的小实用程序组成的程序集。其中我有一个包含一个简单公共函数的模块。
Module FishTrackerConfigurations
Public Function GetValueOfUseProductId As Boolean
Return VtlGetUseProductId 'A simple private routine in the same module
End Function
End Module
当我从另一个项目(其中引用了此程序集)调用此函数时,我收到以下错误。
Error BC30390 'FishTrackerConfigurations.Public Function GetValueOfUseProductId() As Boolean' is not accessible in this context because it is 'Public'.
从我的项目 Application.Xaml.VB 文件中调用该函数,特别是在 Protected Overrides Sub OnStartup(e As StartupEventArgs) 例程中。
我想知道为什么会这样。
【问题讨论】:
如果您尝试对模块中的功能进行单元测试,这也可能会烧毁您。 【参考方案1】:虽然方法是Public
,但模块(默认)不是。
您需要明确指定:
Public Module FishTrackerConfigurations
【讨论】:
谢谢马特,我一直认为模块默认是公开的,我将把它当作今天的新课程。你得等一会儿我才能接受!以上是关于为啥模块中的这个公共函数无法访问的主要内容,如果未能解决你的问题,请参考以下文章
Sources 文件夹中的文件无法访问 Xcode 游乐场中其他文件的公共类或函数
C++:为啥我的 DerivedClass 的构造函数无法访问 BaseClass 的受保护字段?
内联函数无法访问非公共 API:@PublishedApi vs @Suppress vs @JvmSynthetic