Ich versuche, die Convert-Methode für Funktionen sowie Aktionen zu verwenden, so dass ich vermeiden kann, doppelte Methoden zu schreiben Delegaten von Func-Typ. Konvertieren Methode kommt aus Convert Action<T> to Action<object>Dynamic konvertieren Func in entsprechende Aktion
public class Program
{
static void Main(string[] args)
{
var program = new Program();
var mi = program.GetType().GetMethod("Function", BindingFlags.Instance | BindingFlags.Public);
// Can be any version of Func
var funcType = typeof(Func<int, int>);
// Create action delegate somehow instead
var del = mi.CreateDelegate(funcType, null);
// Or dynamically convert the Func to a corresponding Action type (in this case Action<int>)
}
// Or find a way to pass it in as a parameter here
public Action<object> Convert<T>(Action<T> action)
{
return o => action((T)o);
}
public int Function(int five)
{
return five;
}
}
Was ist falsch an Ihrem Code? Funktioniert das nicht so, wie Sie es erwarten? – dasblinkenlight
Aktion hat keine Rückgabetyp –
Es gibt nichts falsch mit meinem Code, es ist geschrieben, um das Verständnis zu verbessern. Ich möchte nur eine Func-Variable dynamisch in die entsprechende Action-Variable konvertieren. – Martin