4

是否可以在 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”的默认参数值必须是编译时常量。

4

1 回答 1

5

当你写作时;

Rectangle pageSize = PageSize.A4

您的pageSize值可以作为参数更改。

Named and Optional Arguments

默认值必须是以下表达式类型之一:

  • 一个常量表达式;

  • new ValType() 形式的表达式,其中 ValType 是值类型,例如枚举或结构;

  • default(ValType) 形式的表达式,其中 ValType 是值类型。

该表达式PageSize.A4未被归类为编译时常量

于 2013-03-12T15:39:11.233 回答