• 泛型定义


    代码
    Public Class Person
       
    Public FirstName As String
       
    Public LastName As String

       
    Public Sub New(ByVal firstName As StringByVal lastName As String)
          
    Me.FirstName = firstName
          
    Me.LastName = lastName
       
    End Sub
    End Class

    Public Class Company
       
    Public Name As String

       
    Public Sub New(ByVal name As String)
          
    Me.Name = name
       
    End Sub
    End Class

    Public Class Relation(Of T1, T2)
       
    Public ReadOnly Object1 As T1
       
    Public ReadOnly Object2 As T2

       
    Public Sub New(ByVal obj1 As T1, ByVal obj2 As T2)
          
    Me.Object1 = obj1
          
    Me.Object2 = obj2
       
    End Sub
    End Class

    ' a new version that uses the As Class constraint

    Public Class Relation2(Of T1 As Class, T2 As Class)
       
    Public ReadOnly Object1 As T1
       
    Public ReadOnly Object2 As T2

       
    Public Sub New(ByVal obj1 As T1, ByVal obj2 As T2)
          
    Me.Object1 = obj1
          
    Me.Object2 = obj2
       
    End Sub

       
    Public Function Contains(ByVal obj As ObjectAs Boolean
          
    Return Me.Object1 Is obj OrElse Me.Object2 Is obj

       
    End Function

    End Class

    ' A new version that shows a minor issue with the VB compiler

    Public Class Relation3(Of T1 As Class, T2 As Class)
       
    Public ReadOnly Object1 As T1
       
    Public ReadOnly Object2 As T2

       
    Public Sub New(ByVal obj1 As T1, ByVal obj2 As T2)
          
    Me.Object1 = obj1
          
    Me.Object2 = obj2
       
    End Sub

       
    Public Function Contains(ByVal obj As T1) As Boolean
          
    Return Me.Object1 Is obj
       
    End Function
       
    Public Function Contains(ByVal obj As T2) As Boolean
          
    Return Me.Object1 Is obj
       
    End Function

    End Class


    Public Class PersonCompanyRelation
       
    Inherits Relation(Of Person, Company)

       
    Public Sub New(ByVal person As Person, ByVal company As Company)
          
    MyBase.New(person, company)
       
    End Sub
    End Class

    Public Class PersonCompanyRelationList
       
    Inherits List(Of PersonCompanyRelation)
    End Class
  • 相关阅读:
    https://archive.ics.uci.edu/ml/datasets.php
    实战教程 :使用Python和keras进行文本分类(上)(重要)
    洛谷 P1073 最优贸易
    P2278 [HNOI2003]操作系统
    洛谷P2024 食物链
    模板
    我的博客
    mysql一条sql把表中的男改为女,女改为男
    树的度和结点数的关系
    Spider实例详解
  • 原文地址:https://www.cnblogs.com/callbin/p/1666935.html
Copyright © 2020-2023  润新知