Hallo zusammen.
Ich habe folgende Test-BindingSource-Klasse:
und dazu noch:
Wenn ich das kompiliere und mir die BS auf's Form ziehe, kommt mir ne Exception, weil MyOwnClass nicht als serialisierbar gekennzeichnet ist (Bild 1). Schließen oder speichern kann ich den Designer des Forms auch nicht (Bild 2). Und löschen kann ich die BS aus dem Form dann auch nicht mehr, da ebenfalls die Exception kommt (Bild 2), also muss ich über die FormX.Designer.VB das Ganze löschen.
Ich kann aber das Teil auf's Form hauen, die Exception wegklicken, zu einem anderen Dateitab switchen und dann den FormX-Designer-Tab schließen und wieder aufrufen und der Fehler ist erstmal gegessen. Das Programm läuft auch ganz normal. Ist aber trotzdem dämlich.
Ich habe zwar einen Workaround gefunden. Aber schön sieht anders aus.
Hat mir da jemand eine Erklärung zu dem Problem und (bessere) Lösung dazu?
##########
Ah, bevor jemand das als Lösung postet:
Ich habe folgende Test-BindingSource-Klasse:
VB.NET-Quellcode
- Public Class BS : Inherits BindingSource
- Private ReadOnly InternalList As New ComponentModel.BindingList(Of MyOwnClass)
- Public Sub New()
- DataSource = GetType(MyOwnClass)
- End Sub
- Private Sub BS_DataSourceChanged(sender As Object, e As EventArgs) Handles Me.DataSourceChanged
- If DataSource IsNot InternalList Then DataSource = InternalList
- End Sub
- Public Overloads Sub Add(NewItem As MyOwnClass)
- InternalList.Add(NewItem)
- End Sub
- End Class
und dazu noch:
Wenn ich das kompiliere und mir die BS auf's Form ziehe, kommt mir ne Exception, weil MyOwnClass nicht als serialisierbar gekennzeichnet ist (Bild 1). Schließen oder speichern kann ich den Designer des Forms auch nicht (Bild 2). Und löschen kann ich die BS aus dem Form dann auch nicht mehr, da ebenfalls die Exception kommt (Bild 2), also muss ich über die FormX.Designer.VB das Ganze löschen.
Ich kann aber das Teil auf's Form hauen, die Exception wegklicken, zu einem anderen Dateitab switchen und dann den FormX-Designer-Tab schließen und wieder aufrufen und der Fehler ist erstmal gegessen. Das Programm läuft auch ganz normal. Ist aber trotzdem dämlich.
Ich habe zwar einen Workaround gefunden. Aber schön sieht anders aus.
Hat mir da jemand eine Erklärung zu dem Problem und (bessere) Lösung dazu?
##########
Ah, bevor jemand das als Lösung postet:
MyOwnClass
mit dem Attribut <Serializable>
zu kennzeichnen ist für mich inakzeptabel, da ich nicht mit Attributen arbeiten will.Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()