Imports System.ComponentModel

Public Class Asignatura
  Implements INotifyPropertyChanged
  Private _nomAsignatura As String
  Public Property NomAsignatura() As String
    Get
      Return _nomAsignatura
    End Get
    Set(value As String)
      _nomAsignatura = value
      OnPropertyChanged(New PropertyChangedEventArgs("NomAsignatura"))
    End Set
  End Property

  Private _nota As Single
  Public Property Nota() As Single
    Get
      Return _nota
    End Get
    Set(value As Single)
      _nota = value
      OnPropertyChanged(New PropertyChangedEventArgs("Nota"))
    End Set
  End Property

  Public Event PropertyChanged As PropertyChangedEventHandler _
    Implements INotifyPropertyChanged.PropertyChanged

  Public Sub OnPropertyChanged(e As PropertyChangedEventArgs)
    RaiseEvent PropertyChanged(Me, e)
    ' generar evento
  End Sub

  Public Overrides Function ToString() As String
    Return NomAsignatura
  End Function

  Public Sub New()
    Me.New("", -1)
  End Sub

  Public Sub New(nomAsig As String, nt As Single)
    NomAsignatura = nomAsig
    Nota = nt
  End Sub
End Class
