내 웹 페이지의 백엔드는 쿼리 문자열에서받는 값에 따라 다른 클래스를로드해야합니다. 클래스를 인스턴스화 할 수 있도록 다른 모든 필요한 매개 변수가 있는지 확인하는 방법이 필요합니다.인스턴스화하지 않고 클래스에서 매개 변수 이름을 가져올 수 있습니까?
는 여기에 옷을 벗었 예제 :
두 클래스, Car
및 Cycle
모두 Vehicle
에서 상속합니다.
Public Class Car
Inherits Vehicle
Private Const _wheels as Int = 4
Private _transmission as string
Private _mpg as int
Public Sub New(Byval transmission as string, Byval mpg as int)
_transmission = transmission
_mpg = mpg
End Sub
End Class
Public Class Cycle
Inherits Vehicle
Private Const _wheels as Int = 2
Private _gears as Int
Public Sub New(ByVal gears as Int)
_gears = gears
End Sub
End Class
이 내 쿼리 문자열입니다 : 타입 = 자동차 & 전송 = 자동
그래서 나는 유형이 무엇인지 알고 있지만, 나는 내가해야 할 mpg의 세부 사항이 제공되지 않은 클래스를 인스턴스화 할 수 있습니다.
"수동"쿼리 문자열을 구문 분석과 같은 작성하는 것이이 작업을 수행하는 방법 :
if not string.isNullOrEmpty(transmission) and not string.isNullOrEmpty(mpg) then
dim c as new Car(transmission, mpg)
end if
을하지만, 매개 변수가 많이있는 경우이 지저분 얻을 수 있습니다. 또한 클래스 객체를 편집 할 때 유지 관리하기가 더 어렵습니다.
나는 라고 생각합니다. 클래스에 필요한 각 매개 변수의 이름을 가져 와서 쿼리 문자열에 있는지 확인하고 싶습니다. 그러나 클래스를 인스턴스화하기 전에이 작업을 수행해야합니다. 그게 가능한지 확실하지 않습니다.
이렇게하는 것이 현명한 방법입니까? 단지 모든 매개 변수를 작성하는 것보다 더 똑똑한 방법이 있습니까?
이 질문의 코드는 vb.net로 작성되었습니다하지만 난 당신도 쿼리 문자열에서 동적으로 차량 개체를 만들 수 있습니다 C#을
지금은 영리합니다. –