Mijn vraag
Ik heb een stukje code wat ik eigenlijk niet mag aanpassen (dit ivm een gegenereerde klasse)
Van zulke properties zijn er een stuk of 250, de klasse wordt gegenereerd aan de hand van een XSD welke regelmatig wordt uitgebreid.
Nu moet ik een controle doen of de Get methode is toegestaan. Dit is een simpele controle en zou er ongeveer zo uit kunnen zien in de code:
Deze check dient dus voor elke property te gebeuren in de desbetreffende klasse. Echter kan ik de klasse zelf niet gaan aanpassen omdat deze vaak opnieuw wordt gegenereerd vanuit de XSD.
Ik zat zelf de denken aan een base klasse, maar daarmee loop ik ook vast omdat de properties dan alsnog aangepast moeten worden voor zover mijn kennis gaat.
Heeft iemand een idee hoe ik de check kan doen zonder de property zelf aan te passen?
Relevante software en hardware die ik gebruik
Visual Studio 2017
.Net Framework 2.0 (vanwege legacy redenen is een hogere .net versie niet mogelijk)
VB .Net
Windows 10 Professional
Wat ik al gevonden of geprobeerd heb
Op google gezocht naar "vb .net always execute code on property" en "vb .net extend property" maar uit de resultaten komt alleen maar dat het niet mogelijk is.
Ik heb een stukje code wat ik eigenlijk niet mag aanpassen (dit ivm een gegenereerde klasse)
code:
1
2
3
4
5
6
7
8
9
| <System.Xml.Serialization.XmlElementAttribute> Public Property Initials() As String Get Return Me.initialsField End Get Set Me.initialsField = Value End Set End Property |
Van zulke properties zijn er een stuk of 250, de klasse wordt gegenereerd aan de hand van een XSD welke regelmatig wordt uitgebreid.
Nu moet ik een controle doen of de Get methode is toegestaan. Dit is een simpele controle en zou er ongeveer zo uit kunnen zien in de code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <System.Xml.Serialization.XmlElementAttribute> Public Property Initials() As String Get If (IsAllowed("Initials")) Then Return Me.initialsField Else Throw New Exception("It is not allowed to use this property") End If End Get Set Me.initialsField = Value End Set End Property |
Deze check dient dus voor elke property te gebeuren in de desbetreffende klasse. Echter kan ik de klasse zelf niet gaan aanpassen omdat deze vaak opnieuw wordt gegenereerd vanuit de XSD.
Ik zat zelf de denken aan een base klasse, maar daarmee loop ik ook vast omdat de properties dan alsnog aangepast moeten worden voor zover mijn kennis gaat.
Heeft iemand een idee hoe ik de check kan doen zonder de property zelf aan te passen?
Relevante software en hardware die ik gebruik
Visual Studio 2017
.Net Framework 2.0 (vanwege legacy redenen is een hogere .net versie niet mogelijk)
VB .Net
Windows 10 Professional
Wat ik al gevonden of geprobeerd heb
Op google gezocht naar "vb .net always execute code on property" en "vb .net extend property" maar uit de resultaten komt alleen maar dat het niet mogelijk is.
Don't drive faster than your guardian angel can fly.