问题描述
大家好,我是初学者
请问在诸如方法
hiii everybody,i''m beginner
please what is asignature in object orinted programming in such as methods
推荐答案
private void method(string param1, int param2){
}
//Not valid
private int method(string param1, int param2){
}
private void method(string param3){
}
private void method(int param1, string param2){
}
void MyFunc(); // MyFunc ()
void MyFunc(int x); // MyFunc (int)
void MyFunc(ref int x); // MyFunc (ref int)
void MyFunc(out int x); // MyFunc (out int)
void MyFunc(int x, int y); // MyFunc (int, int)
int MyFunc(string s); // MyFunc (string)
int MyFunc(int x); // MyFunc (int)
void MyFunc(string[] a); // MyFunc (string[])
void MyFunc(params string[] a); // MyFunc (string[])
ref 和 out 参数修饰符是签名的一部分. MyFunc(int), MyFunc(ref int), and MyFunc(out int)
都是唯一的签名.
返回类型和params修饰符不是签名的一部分,并且不可能仅基于返回类型或基于params修饰符的包含或排除来进行重载.
请注意,包含重复签名的方法(例如MyFunc(int)
和MyFunc(string []))存在一些错误,这些签名的多个签名仅在返回类型上有所不同.
The ref and out parameter modifiers are part of a signature. MyFunc(int), MyFunc(ref int), and MyFunc(out int)
are all unique signatures.
The return type and the params modifier are not part of a signature, and it is not possible to overload based solely on return type or on the inclusion or exclusion of the params modifier.
Notice that there are some errors for the methods that contain duplicate signatures like MyFunc(int)
and MyFunc(string[]) whose multiple signatures differ only by return type.
这篇关于请问在诸如方法之类的对象或程序设计中的签名是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!