Voglio invocare metodi con un determinato attributo. Quindi sto passando in rassegna tutti gli assembly e tutti i metodi per trovare i metodi con il mio attributo. Funziona bene, ma come faccio a richiamare un certo metodo quando ho solo il suo MethodInfo.Metodo di richiamo di MethodInfo
AppDomain app = AppDomain.CurrentDomain;
Assembly[] ass = app.GetAssemblies();
Type[] types;
foreach (Assembly a in ass)
{
types = a.GetTypes();
foreach (Type t in types)
{
MethodInfo[] methods = t.GetMethods();
foreach (MethodInfo method in methods)
{
// Invoke a certain method
}
}
}
Il problema è che non conosco l'istanza della classe che contiene quel determinato metodo. Quindi non posso richiamarlo correttamente perché i metodi non sono statici. Voglio anche evitare di creare una nuova istanza di questa classe, se possibile.
Quello che voglio fare è contrassegnare i metodi con un attributo personalizzato per renderli richiamabili da una linea di comando. Non importa dove siano. Ma sono d'accordo con te sul fatto che non ha senso invocare gli stessi metodi su istanze server in cui il metodo non è statico. Quindi lo userò in una sorta di classe manager che contiene una raccolta di questi oggetti per chiamare un richiamo su un'istanza specifica per parametri. Penso che questo farà quello che voglio. Grazie – apparat