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

■35102 / 親記事)  コンストラクターに続く{}の意味
  
□投稿者/ Wan 付き人(71回)-(2022/07/12(Tue) 10:47:51)
  • アイコン環境/言語:[VisualBasic2019 Windows10 Basic Framework4.7.2] 
    分類:[.NET] 

    基本的な文法の分類になると思いますが・・・
    コンストラクターの次に続く{}の意味を教えてください。

    次のコードで、New DataColumn()に続いて{}を入力すると、IntelliSenseが働きます。With{}でないので、DataColumnのプロパティではないと思いますが?
    何が、リストアップされるのでしょうか?(pkOrderIDも表示されます)
    また、どのような場合にこれが使えるのでしょうか?
    試しに、Dim Ds As New DataSet("DsTest")に続いて{}を書いてもIntelliSenseは働きません。

    宜しくお願いします。

    Sub Test()
     Dim Ds As New DataSet("DsTest")
    Dim Dt As DataTable = Ds.Tables.Add("DtTest")
    Dim pkOrderID As DataColumn = Dt.Columns.Add("OrderID", Type.GetType("System.Int32"))
    Dt.PrimaryKey = New DataColumn() {pk} ←pkと入力するとpkOrderIDがリストアップされる
    End Sub
マルチポストを報告
違反を報告
引用返信 削除キー/
■35103 / ResNo.1)  Re[1]: コンストラクターに続く{}の意味
□投稿者/ Hongliang 大御所(630回)-(2022/07/12(Tue) 11:06:09)
  • アイコン> Dt.PrimaryKey = New DataColumn() {pk} ←pkと入力するとpkOrderIDがリストアップされる

    この場合、New DataColumn()は DataColumnの引数なしコンストラクタではなく、DataColumn()、つまりDataColumnの配列をNewしている式になります。
    { }に並べるのは配列の初期要素列です。DataColumnの配列なので個々の要素はDataColumnであり、pkOrderIdももちろん要素に指定可能ということになります。
違反を報告
引用返信 削除キー/
■35104 / ResNo.2)  Re[2]: コンストラクターに続く{}の意味
□投稿者/ Wan 付き人(72回)-(2022/07/12(Tue) 12:39:02)
  • アイコンHongliang様
    いつも大変お世話になっております。

    なるほど・・・です。
    VBだから、分かりづらいんですね?
    PrimaryKetのパラメータがDataColumn[]だから、このような形になるんだと理解しました。

    初歩的なことにも丁寧に回答頂き助かります。
    有難うございました。
解決み!
違反を報告
引用返信 削除キー/



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

このスレッドに書きこむ

Mode/  Pass/


- Child Tree -