asp.net VB返回结果代码

时间:2017-12-22 14:21:59

标签: asp.net vb.net

对于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。显然它不能是公共共享变量......但是想要最有效的方法来始终在任何子或函数中设置“条件代码”......它只有从设置的时间到它的时间才有效由调用函数检查...所以生命周期很短。

1 个答案:

答案 0 :(得分:1)

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

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

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不是非常自我记录。