我有一个方法,我想使用一个Rectangle可选参数,默认值为(1,1,1).
void Method(int i,int j = 1,Rectangle rect = new Rectangle(1,1)) {} //error
我该如何解决这个问题? (我正在使用XNA,所以它是一个Microsoft.Xna.Framework.Rectangle.)
解决方法
你没有.可选参数必须是编译时常量,而新的Rectangle(1,1)不是编译时常量.
您可以有两个方法重载,一个没有矩形:
void Method(int i,int j = 1) { Method(i,j,new Rectangle(1,1)) }