DOBON.NETプログラミング道掲示板

■34727 / 親記事)  color型を引数にする方法
  
□投稿者/ tamuLA 一般人(1回)-(2021/05/14(Fri) 06:32:55)
  • アイコン環境/言語:[VB.net] 
    分類:[.NET] 

    初めて投稿させて頂きます。

    Private Sub f(Optional c As Color = Color.Red)

    End Sub

    単純なコードですが、通らないようです。
    原因解る方おられましたら教えてください。

    Dim c As Color = Color.Red

    上記なら通るのですが・・・。
マルチポストを報告
違反を報告
引用返信 削除キー/
■34728 / ResNo.1)  Re[1]: color型を引数にする方法
□投稿者/ YuO 一般人(1回)-(2021/05/14(Fri) 10:37:54)
  • アイコンNo34727に返信(tamuLAさんの記事)
    > Private Sub f(Optional c As Color = Color.Red)

    Optionalで設定する既定値は、定数式を指定する必要があります。
    Color.RedはSystem.Drawing.ColorであってもSystem.Windows.Media.Colorであってもプロパティであるため、定数式にはなりません。

    なので、
    ・引数をNullableにしてc.HasValueがFalseの場合はColor.Redとして扱う
    ・引数があるものとないものでOverloadsする
    あたりの対応が必要になります。

    refs)
    - https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/procedures/optional-parameters
    - https://docs.microsoft.com/ja-jp/dotnet/api/system.drawing.color.red
    - https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.media.colors.red

違反を報告
引用返信 削除キー/
■34729 / ResNo.2)  Re[2]: color型を引数にする方法
□投稿者/ tamuLA 一般人(2回)-(2021/05/14(Fri) 20:43:38)
  • アイコンYuOさんありがとうございました。
    Color.Redは定数じゃないんですね。
    プロパティと定数の違いなどあまり解っていなかったので、一通り再勉強しました。
    ご回答感謝致します。
違反を報告
引用返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/


- Child Tree -