Hallo,
Het is lastig om dit probleem in woorden te omvatten, in 1 zin of enkele trefwoorden in ieder geval. Het kan zijn dat ik verkeerd denk, verbeter me dan
Laat ik bij het begin beginnen. Ik heb 2 classes Licenties die inheriten van base class Licentie:
Licenties_Versie1 : Licentie
Licenties_Versie2 : Licentie
In mijn code heb ik een variabele licentie waarvan ik niet weet welke Licentiesoort het is, enkel dat het een Licentie is (kan ook nog een Versie3, 4, 5, enz zijn). Omdat het stiekem toch wel een _Versie is, werkt dit gewoon:
Als ik gewoon alle waardes wil weergeven, zonder specifiek voor elke versie code te schrijven werkt dit:
Geen probleem, ik krijg ook alle waardes van eventuele subversies (dus ik zou versie2waarde ook gewoon krijgen).
So far so good, nu komt het probleem.
Ik zit in een loop van alle eigenschappen (bij de toreturn += dus), en sommige props hebben bij DisplayAttribute de GroupName hidden, die worden ook mooi verborgen.
Sommige items hebben de GroupName editable, die moeten kunnen worden bewerkt en daarvoor moet ik een mooie input maken.
Hoe ga ik dit aanpakken, ik zit nu in een view met model van type Licentie?
Ik kan geen @Html.Editorfor(model => model.......) doen, want model is nog steeds van type Licentie, en die is read-only en dus niet aan te passen naar een andere soort. Aan de andere kant, als dit wel zou lukken, zou ik dit aan de verwerk-kant ook niet goed werkend kunnen krijgen.
Verder heb ik eigenlijk geen idee, en ook niet waarop ik moet zoeken. Jullie wel?
Ja het is laat
Het is lastig om dit probleem in woorden te omvatten, in 1 zin of enkele trefwoorden in ieder geval. Het kan zijn dat ik verkeerd denk, verbeter me dan
Laat ik bij het begin beginnen. Ik heb 2 classes Licenties die inheriten van base class Licentie:
Licenties_Versie1 : Licentie
Licenties_Versie2 : Licentie
In mijn code heb ik een variabele licentie waarvan ik niet weet welke Licentiesoort het is, enkel dat het een Licentie is (kan ook nog een Versie3, 4, 5, enz zijn). Omdat het stiekem toch wel een _Versie is, werkt dit gewoon:
C#:
1
2
3
4
| if(Licentie licentie is Licenties_Versie2) { var licentie2 = licentie as Licenties.Versie2; return licentie2.versie2waarde; } |
Als ik gewoon alle waardes wil weergeven, zonder specifiek voor elke versie code te schrijven werkt dit:
C#:
1
2
3
4
| var props = licentie.GetType().GetProperties(); foreach(var prop in props) { toreturn += prop.Name + prop.GetValue(licentie, null).ToString(); } |
Geen probleem, ik krijg ook alle waardes van eventuele subversies (dus ik zou versie2waarde ook gewoon krijgen).
So far so good, nu komt het probleem.
Ik zit in een loop van alle eigenschappen (bij de toreturn += dus), en sommige props hebben bij DisplayAttribute de GroupName hidden, die worden ook mooi verborgen.
Sommige items hebben de GroupName editable, die moeten kunnen worden bewerkt en daarvoor moet ik een mooie input maken.
Hoe ga ik dit aanpakken, ik zit nu in een view met model van type Licentie?
Ik kan geen @Html.Editorfor(model => model.......) doen, want model is nog steeds van type Licentie, en die is read-only en dus niet aan te passen naar een andere soort. Aan de andere kant, als dit wel zou lukken, zou ik dit aan de verwerk-kant ook niet goed werkend kunnen krijgen.
Verder heb ik eigenlijk geen idee, en ook niet waarop ik moet zoeken. Jullie wel?
Ja het is laat
2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI