Permettez-moi de préface en disant que je suis complètement nouveau à la réflexion.Mélanger la réflexion avec les appels standard
J'ai un Dictionary
de string
à Func<string, string>
. Je voudrais ajouter une section de configuration qui me permettrait de définir le nom des méthodes statiques qui peuvent être ajoutées par programme dans ce dictionnaire.
Donc, fondamentalement, je l'aurais quelque chose comme ceci:
public static void DoSomething()
{
string MethodName = "Namespace.Class.StaticMethodName";
// Somehow convert MethodName into a Func<string, string> object that can be
// passed into the line below
MyDictionary["blah"] = MethodNameConvertedToAFuncObject;
MyDictionary["foo"] = ANonReflectiveMethod;
foreach(KeyValuePair<string, Func<string, string>> item in MyDictionary)
{
// Calling method, regardless if it was added via reflection, or not
Console.WriteLine(item.Value(blah));
}
}
public static string ANonReflectiveMethod(string AString)
{
return AString;
}
Est-il possible de le faire, ou dois-je tout invoqué par la réflexion?
Qu'est-ce que vous essayez d'obtenir avec ce becouse je pense que vous faites de sérieuses erreurs. –
@PeterKiss en un mot, je fais un système de filtrage similaire à celui de wordpress. Vous donnez un nom au filtre, puis fournissez une méthode de rappel. J'utilise des formulaires Web ASP.NET. Je l'ai installé à l'endroit où je peux ajouter un filtre fournissant dans une méthode de rappel, mais je voudrais ajouter "Global Filters", qui sont essentiellement ajoutés via des chaînes dans le web.config. Je tiens à noter que je veux filtrer les données avant qu'elles ne soient dans la réponse, donc un simple HttpModule n'est pas ce que je recherche. –