最近Unity写一些管理类的时候,不免需要用到一些可选参数的函数,但是调用的时候必须要以顺序填写参数,导致需要用到后面参数的时候,就需要填写之前的参数,失去了“可选”的意义。
为此专门去找了下解决方法,最终找到具名参数调用的方式,特别记录一下。
public void A(int a , string b = "" , float c = 0)
{
print(string.Format("a:{0} b:{1} c{2}", a, b, c));
}
public void B()
{
//正常调用函数A
A(0, "123", 1.0f);
//具名参数调用函数A
A(a: 0, b: "123", c: 1.0f);
//具名参数乱序调用函数A
A(c: 1.0f, a: 0, b: "123");
//具名参数缺省调用函数A
A(c: 1.0f, a: 0);
}