Hej, Tveksamt om du öht kan få bort arbetet som krävs av delegater. Alternativen jag kommer på är:Delegates
Jag gör ett program för automatisk regressionsanalys. Den slutliga funktionen kommer bestå av en lista med int som representerar mindre funktioner (eller rättare sagt delegates som pekar på mindre funktioner).
tex listan Intlist innehålla värdena: (1, 2, 1, 1, 3, 4).
vilka representerar index i FunctionList: (sum, div, sin, cos)
Detta ger att den slutliga funktionen ges av att köra: sum, div, sum, sum, sin, cos funktionerna.
Min fråga är om det finns ett snabbare sätt att köra dessa funktioner än att använda delegates?
Jag gjorde ett snabbt test på hur mycket långsammare delegates är än vanliga funktioner och jag fick fram att de är c:a 4x så långsamma (Win Vista 32, VS 2010 .NET 4.0).Sv: Delegates
1. Klasser som implementerar interface. Sannolikt tyngre operation än det du redan har.
2. Man kan generera kod on-the-fly med typ "generator.emit". Även det jävligt tveksamt om du tjänar på. Skulle du ha en situation där du ska göra 10000 likadana operationer, men inte i förväg vet vilken skulle du kanske kunna lösa det så.
3. En switch-sats. Inte speciellt snyggt, men kanske blir snabbare?