例如:sealed class Buggy
{
void Defaulted(double d = 0.0) 1
{ ...
}
void ReadOnly(const ref Wibble w) 2
{ ...
}
ref int ReturnType() 3
{ ...
}
ref int fieldModifier; 4
}
第1個函數的錯誤是:C#中函數不能擁有缺省參數。
第2個函數的錯誤是:ref型參數不能用const修飾,因為ref型參數是可能變化的。
第3,4個函數的錯誤是:ref和out型參數只能用於函數參數和實參。
C#中可以通過函數重載的辦法實現缺省參數的功能,以下是實現的方法:
sealed class Overload
{
void DefaultArgument() { DefaultArgument(0.0); }
void DefaultArgument(double d) { ... }
}
作者:ershouyage