6 Stimmen

C#4 dynamisches Schlüsselwort - warum nicht?

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?

-2voto

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);
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X