Nachdem ich viele der Antworten auf dieses Thema Ich sehe, dass viele derjenigen, die sich dagegen aussprechen, das Missbrauchspotenzial des neuen Schlüsselworts anführen. Meine Frage ist, welche Art von Missbrauch? Wie könnte es so sehr missbraucht werden, dass die Leute es vehement ablehnen? Geht es nur um Purismus? Oder gibt es einen echten Fallstrick, den ich einfach nicht sehe?
Antwort
Zu viele Anzeigen?
FlySwat
Punkte
165766
Ich sehe keinen Grund, warum die derzeitige Art, Methoden dynamisch aufzurufen, fehlerhaft sein sollte:
Dazu sind drei Zeilen erforderlich, oder Sie können eine Erweiterungsmethode zu System.Object hinzufügen, die dies für Sie erledigt:
class Program
{
static void Main(string[] args)
{
var foo = new Foo();
Console.WriteLine(foo.Invoke("Hello","Jonathan"));
}
}
static class DynamicDispatchHelper
{
static public object Invoke(this object ot, string methodName, params object[] args)
{
var t = ot.GetType();
var m = t.GetMethod(methodName);
return m.Invoke(ot, args);
}
}
class Foo
{
public string Hello(string name)
{
return ("Hello World, " + name);
}
}
- See previous answers
- Weitere Antworten anzeigen