簡體   English   中英

當不在參數中時如何獲取函數中對象的屬性

[英]how to get properties of an object in a function when it's not in the parameter

我不太擅長VB,並且在解決某些問題時遇到了一些嚴重的問題。 對於學校,我必須完成一項任務,並且進行一些測試,所有測試都必須運行為True

    Console.WriteLine(placeToStay1.Overlapswith(placeToStay2) = False)     'True     
    Console.WriteLine(placeToStay1.Overlapswith(placeToStay3) = False)     'True
    Console.WriteLine(placeToStay1.Overlapswith(placeToStay4) = True)      'True   
    Console.WriteLine(placeToStay1.Overlapswith(placeToStay5) = True)      'True
    Console.WriteLine(placeToStay1.Overlapswith(placeToStay6) = False)     'True
    Console.WriteLine(placeToStay1.Overlapswith(placeToStay7) = False)     'True

具有屬性的placeToStay的示例:

Dim placeToStay1 As New placeToStay
placeToStay1.Room = 123           'String
placeToStay1.From = #10/23/2013#  'Date
placeToStay1.Till = #10/28/2013#  'Date

這是我課堂上的內容:

Public Class placeToStay
    Public Property Room As String
    Public Property From As Date
    Public Property Till As Date

    Dim _tillDate As Date = Till
    Public Function OverlapsWith(date2 As placeToStay) As Boolean
        Dim TheBool As Boolean
        If _tillDate > date2.From Then
            TheBool = True
        Else
            TheBool = False
        End If
        Console.WriteLine(_tillDate)
        Return TheBool 
    End Function

End Class 

您可能已經猜到這根本不返回true。 如果未在參數中給定,如何從placeToStay1獲取Till屬性

測試代碼必須保持不變(console.writeline行),歡迎任何幫助:)

我假設兩個實例“重疊”,如果其中一個的起始/終止日期落在另一個的起始/終止日期之內?

如果是,請嘗試以下操作:

Public Class placeToStay

    Public Property Room As String
    Public Property From As Date
    Public Property Till As Date

    Public Function OverlapsWith(ByVal pts As placeToStay) As Boolean
        Return (pts.From >= Me.From AndAlso pts.From <= Me.Till) OrElse
            (pts.Till >= Me.From AndAlso pts.Till <= Me.Till)
    End Function

End Class

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM