Добавить событие с отражением на setmethod
Вот пример 2 класса:
Public NotInheritable Class test Inherits ObjectBase Private _Name As System.String Public Property [Name] As System.String Set(value As System.String) If _Name <> value Then _Name = value NotifyPropertyChanged() End If End Set Get Return _Name End Get End Property End Class
Public MustInherit Class ObjectBase Implements INotifyPropertyChanged Public Event PropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged Public Sub NotifyPropertyChanged(Optional ByVal propertyName As String = Nothing) RaiseEvent PropertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) End If End Sub End Class
Проблема: в каждом классе в наборе свойств я должен написать " NotifyPropertyChanged ()". Теперь я ищу решение в классе " ObjectBase "(с отражением), которое вызывает" NotifyPropertyChanged () "после установки значения для каждого свойства в классе"test".
Идея состоит в том, чтобы создать подменю "New" в классе "Objectbase", которая добавит эту функцию для каждого свойства.
Что я уже пробовал:
В классе "Objectbase" я должен создать суб "new" и создать простой массив "SQLParameters" для класса с отражением:
Private SqlParameters As List(Of SqlParameter) = New List(Of SqlParameter) Sub New() For Each _PropertyInfo As System.Reflection.PropertyInfo In Me.GetType.GetProperties For Each _Attribute As System.Attribute In System.Attribute.GetCustomAttributes(_PropertyInfo) Dim _DatabaseColumn As DATABASE.Field = CType(_Attribute, DATABASE.Field) SqlParameters.Add(New SqlParameter("@" & _DatabaseColumn.Name, _DatabaseColumn.SqlDbType)) Next Next End Sub
Это работает, но я понятия не имею, чтобы добавить событие после набора для каждого свойства?!?!?