2017-12-22 12 views
0

를 반환 그것을 조건 코드라고 부르겠습니다) 우리는 호출되는 모든 함수/서브에서 거의 설정합니다.asp.net VB 가장 좋은 방법은 내가 세션 변수를 사용할 수 있다는 것을 알고 ..하지만 궁금 4.5 VB</p> <p>asp.net 프레임 워크의 결과 코드

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

    Return ds 

예 우리는 모든 곳이 Cond.code를 사용합니다. 분명히 Public Shared 변수가 될 수는 없지만 하위 또는 함수 내에서 항상 "condtion code"를 설정하는 가장 효율적인 방법을 원합니다 ... 설정된 시간부터 시간까지 유효합니다. 호출 함수에 의해 검사됩니다 ... 그래서 수명이 매우 짧습니다.

답변

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은별로 문서화되지 않습니다.