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);
    }
}

VisualStudio2010で次のエラーが発生します。

'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 に答える