UIButton has a built-in event, onClick. To subscribe to it, use EventDelegate.Add or EventDelegate.Set(button.onClick, YourDelegateFunction); UIEventTrigger script has all sorts of delegates if you need more.
UIEventListener is a generic delegate-based approach you can also use if you like (EventDelegate is an NGUI delegate instead that supports serialization and inspector functionality). UIEventListener is not editable through inspector, and remains a code-based solution.
I don't quite understand your code, or why you are creating extra functions... but if you do, why pass a string? Pass a delegate instead. Replace "string" with "UIEventListener.OnClick".