asp.net VB返回结果代码的最佳方法

问题描述 投票:0回答:1

对于asp.net framework 4.5 vb

我知道我可以使用会话变量..但是想知道是否有更有效的方法来返回我们几乎在每个被调用的函数/子中设置的变量(我们称之为条件代码)。

  Function xyz(bla as String, blab as String) as dataset
    .. do the deed
    **Cond.code = -1**  

  Return ds

我们到处都使用这个Cond.code。显然它不能是公共共享变量......但是想要最有效的方法来始终在任何子或函数中设置“条件代码”......它只有从设置的时间到它的时间才有效由调用函数检查...所以生命周期很短。

asp.net vb.net
1个回答
1
投票

目前还不清楚究竟是什么条件代码用于。正确使用自定义异常类型可能会取代对它的需求。但是,如果你真的需要它,最好让它由方法返回,而不是基本上设置一个非常糟糕的全局。如果同时调用两种方法会发生什么?它只是脆弱和不必要的限制。

例如,您可以创建一个容器来保存返回值加条件代码,如下所示:

Public Class ReturnValue(Of T)
    Public Sub New(value As T, conditionCode As Integer)
        Me.Value = value
        Me.ConditionCode = conditionCode 
    End Sub

    Public ReadOnly Property Value As T
    Public ReadOnly ConditionCode As Integer
End Class

通过要求构造函数中的代码,它强制每个方法始终在其返回值中指定条件代码。这样就永远不会忘记:

Function xyz(bla As String, blab As String) As ReturnValue(Of DataSet)
    ' do the deed
    Return New ReturnValue(ds, -1)
End Function

然而,即便如此,我仍然强烈建议使条件代码使用枚举,或者至少使用一组常量。 -1不是很自我记录。

© www.soinside.com 2019 - 2024. All rights reserved.