Beste Tweakers,
Wij maken gebruik van Progress OpenEdge v10.2B04.
Ik hoor jullie denken: "Wat heeft dit met .NET te maken?", maar Progress kan .NET objecten gebruiken en zelf .NET-achtige klasses aanmaken.
Zo hebben we de volgende klasse met een hele lijst static properties:
Deze klasses worden gegenereerd met een conversieprogramma die database-tabellen met parameters uitleest en er Static Properties van maakt. Zo krijgen we een hele waslijst met deze properties. Het gebruiken van constants als in .NET is onmogelijk. Ook enums kunnen niet en die kunnen sowieso niet van nature strings bevatten.
Ik vroeg me af of het wellicht nuttiger zou zijn om een static Dictionary aan te maken met alle Properties en Values zoals nu gespecificeerd. Zou dit eventueel uitmaken qua performance? Ik weet niet of het een nettere oplossing is, dat is een andere discussie. Het blijft hoe dan ook een beetje gekunsteld, de klasse zit ook in de Namespace Enum omdat dat wel het achterliggende idee is...
Wij maken gebruik van Progress OpenEdge v10.2B04.
Ik hoor jullie denken: "Wat heeft dit met .NET te maken?", maar Progress kan .NET objecten gebruiken en zelf .NET-achtige klasses aanmaken.
Zo hebben we de volgende klasse met een hele lijst static properties:
OpenEdge ABL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| USING Progress.Lang.*. CLASS Foo.Enum.Parametergroep: DEFINE PUBLIC STATIC PROPERTY AfdoendeNatuurlijkeBarriere AS CHARACTER NO-UNDO GET(): RETURN "AfdNatBarr":U. END GET. DEFINE PUBLIC STATIC PROPERTY AfleverAdresParameters AS CHARACTER NO-UNDO GET(): RETURN "afladres":U. END GET. DEFINE PUBLIC STATIC PROPERTY Betaalwijze AS CHARACTER NO-UNDO GET(): RETURN "betwz":U. END GET. /* Etc.... */ END CLASS. |
Deze klasses worden gegenereerd met een conversieprogramma die database-tabellen met parameters uitleest en er Static Properties van maakt. Zo krijgen we een hele waslijst met deze properties. Het gebruiken van constants als in .NET is onmogelijk. Ook enums kunnen niet en die kunnen sowieso niet van nature strings bevatten.
Ik vroeg me af of het wellicht nuttiger zou zijn om een static Dictionary aan te maken met alle Properties en Values zoals nu gespecificeerd. Zou dit eventueel uitmaken qua performance? Ik weet niet of het een nettere oplossing is, dat is een andere discussie. Het blijft hoe dan ook een beetje gekunsteld, de klasse zit ook in de Namespace Enum omdat dat wel het achterliggende idee is...