You should have them uniquely named. The script that finds the delegate by name is pretty rudimentary. I was only learning reflection back when I wrote it. Just keep them named differently.
Tanks for your reply.
In my case, Foo() and Foo(string) must be exist.
I just add a method like that to fix now:
void FooForNGUI () { Foo(); }
I want to know, the reflection problem will fix in future?
If yes, I will still to waiting the update.