public void MyLongFunctionName(string arg1,...) ...
public void MyLongFunctionName(int arg1,...) ...
//.... many different argument types
为了制作那个长函数的快捷方式,我使用了my()
:
public void my(string arg1,...) ...
public void my(int arg1,...) ...
....
但是,如果没有定义my()
方法(如上所述)那么MyLongFunctionName()
作为my()
的快捷方式,可以这样做吗?
$my = MyLongFunctionName(arg1, arg2....);
//execute
$my(arg1, arg2....)
这个主题不重复,因为那个引用的主题根本不回答这个问题。它执行普通函数,甚至说它根本不是别名:
所以,那个话题并没有解决问题。相反,我想镜像(a.k.a.ALIAS)具有ie my()
的特定方法的整个重载,它可以接受参数的变化。所以,请停止对你不读的东西的盲目贬低。
答案 0 :(得分:2)
我担心你的要求是不可能的。
你想要的是一大堆方法的代表。它被称为method group
。
方法组是由成员查找(第7.4节)产生的一组重载方法。
例如something.ToString
是一个方法组。它可能包含一个或多个方法,具体取决于ToString
是否具有此特定类的重载。
这是一个编译时构造。您不能将方法组放入变量中,就像使用单个函数一样。您可以从方法组创建委托,但这涉及获取特定的重载并仅将其转换为委托。