大復活C#学習_事始めの解体もどき

f:id:yasui_swift:20210415034952p:plain

f:id:yasui_swift:20210415035421p:plain

はじめの一歩で立ち上げたBlazorApp1の構造と中身を見てみる。

ソリューションエクスプローラーには上から

  ・Connected Survices

  ・Properties

  ・wwwroot

  ・依存関係

  ・Pages

  ・Shared

     ・_Imports.razor

     ・App.razor

  ・C#  Program.cs
と並ぶ。

それぞれのファイルやフォルダーにはさらにその下に深い階層があり、さまざまなファイルが並んでいる。

ためしに「依存関係」の項目を開けてみると多数の複雑なファイルが並ぶので、深掘りはパス。

いまの時点ではそれどれの役割は不明だが、おいおい理解することにしてあまりこだわりすぎないように心がけて先に進む。

テンプレートSPAで表示されたサブメニューの「Fetch Data」をクリックすると、どこかの気象情報の一覧表が表示されて、このデータはwwwrootの下の「sample-data」のフォルダーに入っていることが分かる。

フォルダーは「Pages」と「Shared」のふたつ。

サブメニューのBalzorApp1でテンプレートを改変したCounterの中身は、Pagesフォルダーにあり、コードは以下・・・、

 ーーーーー

@page "/counter"

 <h1>Counter</h1>

  <p>Current count: @currentCount</p>

  <button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
  <p>現在時刻:@now</p>
  <button class="btn btn-primary" @onclick="dispDate">時刻を更新
  </button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    { 
      currentCount++;
    }
    private DateTime now = DateTime.Now;
    private void dispDate()
    {
      now = DateTime.Now;
    }
   }

ーーーーー

HTMLのフレームワークのなかの@マークがついた記述がC#のコマンド領域で、C#のクラスやメソッドに関連付けされた部分のようだ。