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