2011-01-14 7 views
2

Ich habe ein Server-Steuerelement, das einige Logik ausführt. Ich würde gerne eine Standardimplementierung dieser Logik im Code des Steuerelements bereitstellen, aber ermöglichen es einem Entwickler, eine alternative Implementierung dieser Logik als Delegat zu übergeben, wenn sie dies wünschen.Können Sie einen Delegaten als Serversteuerparameter übergeben?

So ...

<prefix:MyControl FooLogicMethod="MyUtilityClass.MyFooLogicMethod" runat="server"/> 

Wenn sie dies nicht angeben, werde ich meine Standard-Methode verwenden. Wenn sie es angeben, verwende ich die Methode, die sie übergeben haben.

Kann ich dies als Delegat tun, oder muss ich es reflektieren?

Antwort

0

Sie können es nicht so tun ... der ASP.net-Compiler wird die Syntax nicht erkennen, es ist ziemlich einfach, welche Art von Datenbindung Sie tun können. Stattdessen können Sie Codebehind tun und den Delegierten wie folgt setzen

var control = someID; 
control.FooLogicMethod = new Delegate(MyUtilityClass.MyFooLogicMethod);