【问题标题】:VB.Net: Including common code in multiple filesVB.Net:在多个文件中包含通用代码
【发布时间】:2011-06-30 12:41:45
【问题描述】:

我是 .NET 平台(旧版 ASPer)的新手,对于一个项目,我有一对简单的 .aspx 脚本,它们可以获取一些查询字符串数据并对其进行处理。它们都使用相同的 Subs、Functions,所以我很自然地想将代码移动到一个公共的 resource.vb 文件中。做了一些阅读后,看起来我的选项是 Code-Behind 类型设置,并将 Subs、Functions 放在 .vb 文件中并将该文件放在 App_Code 中。

因此,代码隐藏模型在这里似乎没有意义,因为两个文件共享功能。将 Subs 和 Functions 放在 /App_Code/resources.vb 中,尝试调用任何例程时出现以下错误:

Statement is not valid in a namespace

阅读this answer,我认为最后一个解决方案会很好,但事实并非如此。任何指针?整个解决方案旨在简单且可移植,某人只需上传文件即可将其部署到他们的域中,因此可移植性也很重要。

谢谢,

保罗

【问题讨论】:

    标签: vb.net namespaces include


    【解决方案1】:

    VB.NET 的基本构建块是类,或者是模块。您不能只将函数转储到代码文件中,您需要将它们与类或模块相关联。

    为了简单的修复,只需将它们放在一个模块中:

    Module FooBar
        ' Your methods here
    End Module
    

    但这就是代码异味,你不应该让它失控。 .NET 本质上是面向对象的,因此您应该考虑开发一种一致的架构,其中每个类都有一个职责并执行相应的操作。

    (见SOLID principles

    【讨论】:

    • 谢谢。那么'helper'函数的约定是什么?这就是我所拥有的,常见的事情,比如检查文件是否存在,计算一些哈希等等。
    • @Paul 按照惯例,不要使用它们:辅助方法通常是代码异味。或者如果真的有必要,可以作为extension methods(位于模块中)或作为类或模块中的共享方法..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多