我是 .NET 平台(旧式 ASPer)的新手,对于一个项目,我有一对简单的 .aspx 脚本,它们接受一些查询字符串数据并对其进行处理。它们都使用了相同的 Subs 和 Functions,所以很自然地我想将代码移动到一个公共(public)的 resource.vb 文件中。做了一些阅读后,看起来我的选项是代码隐藏类型设置,并将 Subs、Functions 放置在 .vb 文件中并将该文件放置在 App_Code 中。
因此,代码隐藏模型在这里似乎没有意义,因为这两个文件共享这些功能。将 Subs 和 Functions 放在/App_Code/resources.vb 中,尝试调用任何例程时出现以下错误:
Statement is not valid in a namespace
阅读this answer ,我认为最后一个解决方案会很好,但事实并非如此。任何指针?整个解决方案旨在简单且可移植,有人可以通过简单地上传文件将其部署到他们的域中,因此可移植性也很重要。
谢谢,
保罗
最佳答案
VB.NET 的基本构建块是类,或者模块。您不能只是将函数转储到代码文件中,您需要将它们与类或模块相关联。
为了一个简单的修复,只需将它们放在一个模块中:
Module FooBar
' Your methods here
End Module
但那是代码异味,你不应该让它失控。 .NET 本质上是面向对象的,因此您应该考虑开发一个一致的体系结构,其中每个类都有一个责任并执行相应的操作。
(见 SOLID principles)
关于VB.Net:在多个文件中包含通用代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6534908/