Hallo,

beigef�gte Methode erh�lt von einer toolbar einen aufruf und soll dann anhand des 
Button.Tag -
Textes pr�fen ob eine gegebene Schnittstelle diese Methode unterst�tzt und wenn ja 
soll diese
ausgef�hrt werden:

private void toolBar1_ButtonClick(object sender, 
System.Windows.Forms.ToolBarButtonClickEventArgs e)
                {
                        object[] parametersToPass=null;
                        object member = null;
                        IFrame nform = form as IFrame;
                        Type t = nform.GetType();

                        TypeFilter filter = new TypeFilter(IPluginFilter);
                        Type[] plugins = t.FindInterfaces(filter, "OM.Namespace");

                        for(int i = 0; i < plugins.Length; i++)
                        {
                                MethodInfo mi = 
plugins[i].GetMethod(e.Button.Tag.ToString());
                                if(mi != null)
                                {
                                        ParameterInfo[] parameters = 
mi.GetParameters();
                                        for (int j = 0; j < parameters.Length; j++)
                                        {
                                                member = 
t.GetMember(parameters[j].Name);
                                                parametersToPass[j] = member;
                                        }
                                        mi.Invoke(nform, parametersToPass);
                                }
                                else
                                {
                                        MessageBox.Show("Funktion wird nicht 
unterst�tzt!");
                                }
                        }
                }

Jetzt kann es aber sein, da� die aufzurufende Methode �bergabewerte erwartet. Ich 
dachte mir mach es
einfach ..... Das Objekt nform muss die zu �bergebenden Objekte mit exakt dem selben 
Namen f�hren,
wie sie auch in der aufzurufenden Methode vorgesehen sind:
Also:
Interface:
        Save(string DeinName)

dann muss nform einen public string DeinName="Mansur" haben.

somit kann ich:
member = t.GetMember(parameters[j].Name);
... machen.

So meine Frage:
als member erhalte ich ja "nur" eine MemberInfo ....
Ich m�chte aber den member selbst haben um ihn dann:
parametersToPass[j] = ..... Hier der member selbst ...
... einf�gen zu k�nnen.


Ich halte das deswegen f�r gut, weil wenn ich die Methode Save(string DeinName) 
implementieren will,
sehe ich in der selben klasse nach ... aha "string DeinName" .... dann schreibe ich 
einfach noch:
public string DeinName="Mansur" und schon wei� ich das es implementiert ist und alle 
Parameter daf�r
da sind ...

Also: Wie komme ich an das "Objekt" member ran?

Mansur

_______________________________________________
CSharp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/csharp.net

Antwort per Email an