是否可以在C#中为PageSize设置默认参数的值?例如:
public virtual void Render(string reportTitle, Rectangle pageSize = PageSize.A4)
{
foreach (Page p in pages)
{
p.Render(document);
document.NewPage();
document.AddCreationDate();
document.AddTitle(reportTitle);
document.SetPageSize(pageSize);
}
}
我在Visual Studio 2010中出现以下错误:
'pageSize'的默认参数值必须是编译时 恒定。
答案 0 :(得分:5)
写作时;
Rectangle pageSize = PageSize.A4
您的pageSize
值可以更改为参数。
来自Named and Optional Arguments
默认值必须是以下类型的表达式之一:
一个常量表达式;
新形式ValType()的表达式,其中ValType是值类型,例如枚举或结构;
表单default(ValType),其中ValType是值类型。
表达式PageSize.A4
未归类为 compile-time constant 。