(Jag har laddat ner VB.net express beta för att kunna prova VB.net utan att vända ut-och-in på plånboken. Första intryck:Mycket redigare än VB6 men omständigt jämfört med Smalltalk.) Du har överlagring Nu ser jag att jag själv tidigare i VB6 använt CallByName, och att det även bör funka i VB.net.Behöver tips om bra sätt att välja metod beroend på given string eller integer
Jag försöker göra en minimalistisk RPN-kalkylator. Användare matar in nuffror från tangent bordet och avslutar med Enter eller en operation t ex "+" eller "sin".
I Smalltalk skulle jag sedan helt enkelt kunna skicka #asSymbol" till operator-strängen och använda resultatet som första argument i ett #perform: with: (eller ett #perform: with: with: för binär operator)som jag skickar till mitt RpnCalc-objekt. Men jag kan inte se att VB har någon sådan möjlighet. Kanske finns det något annat sätt att låta "operatorsträngen" (som t ex kan bytas till motsv integer i en KeyedCollection) styra vilken metod som skall väljas? Eller måste man skriva typ en case-programrad för varje operator?
- HansSv: Behöver tips om bra sätt att välja metod beroend på given string eller integ
Sub Test()
Sub Test(a as Integer)
Sub Test(a as String)
Skriver du så, så beror det på vilken datatyp du skickar in, vilken metod som körs.
Du vill väl däremot köra en metod om du skickar "+" och en annan om du skickar "-" (ungefär)
Svar: Nej, tyvärr, då de är samma datatyp (String)
/mickeSv: Behöver tips om bra sätt att välja metod beroend på given string eller inte
Passar perfekt!!