Methode aanroepen met een string variabele

Status
Niet open voor verdere reacties.

Cuelight

Gebruiker
Lid geworden
12 feb 2008
Berichten
8
Hallo

Is het mogelijk om een methode aan te roepen dmv een string, in deze string variabele staat dan de naam van de methode die ik wil aanroepen:

Code:
//klasse oproepen
createProperty x = new createProperty();
Variabele array aanmaken
int[] motorTextRow = new int[10];
//de methode in de klasse createProperty uitvoeren
//deze returned een array die opgeslagen wordt in de array motorTextRow
motorTextRow = x.motorTextRow();

Ik wil dit stukje code algemeen inetbaar maken door x.motorTextRow() te vervangen door een string variabele.
In deze string kan ik dan de methodenaam plaatsen die ik op dat moment wens aan te roepen.
Iemand een idee hoe dit te doen?


Groeten

Chris
 
Geef een string o.i.d mee aan de functie.
Vervolgens kun je een Case select op het argument doen en de juiste functie
uitvoeren in de klasse.
 
Hey,

ik heb de oplossing voor je:
Code:
using System.Reflection;


        private void button1_Click(object sender, EventArgs e)
        {
            Type t = this.GetType();
            MethodInfo methodInfo = t.GetMethod("Banaan");
            methodInfo.Invoke(this, null);
        }

        public void Functie()
        {
            MessageBox.Show("Functie");
        }

        public void Banaan()
        {
            MessageBox.Show("Banaan");
        }

In de code Button1_Click staat achter GetMethod de tekst "Banaan"
Dat is de functie die wordt opgegoepen.

Bij de Invoke(this, null) is de laatste (null) de parameters die je eventueel mee wilt geven. Dit moet wel een object array zijn (object[]).

De invoke stuurt ook een object terug, dit kan de eventuele waarde zijn die de functie terug stuurt.

ooh ja,
de functies die je wilt aanroepen moeten public zijn... Anders werkt het niet.

Succes,
Mathijs
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan