C#+WPFチューニング戦記

C#とWPFで高速なコードと最適なシステムを書くためにやってきたいろいろな事を書いてみます。.NET Frameworkのソースコードを読み解きましょう。なお、ここに書かれているのは個人の見解であって何らかの団体や企業の見解を代表するものではありません。

Blazorを使ってみた(3)

腰痛で倒れていました。不甲斐ない…。

どこまで再利用性や汎用性を高められるかと思って、どうせならXAMLでMVVMをするときのように書きたいと考え、 Resources.cshtml などを作り始めています。

@using Foo.Shared;

@switch (DataContext)
{
    case User user:
        <User DataContext=@user></User>
        break;
}

@functions
{
[Parameter]
object DataContext { get; set; }
}

丁度C#7.xでパターンマッチングがとても便利になったので、switch文でDataContextに応じた展開がきれいに書けるようになっているのです。パターンマッチング自体はDataTemplateSelector並に柔軟な記述が可能なので、DataTemplateSelectorはほぼ不要になりそうです。

これに加えてContentControl.cshtmlやContetnPresenter.cshtml のようなものを作れば、XAMLに近い記述感をHTML上で実現できる日も遠くありません。

現時点でエラーは出ていないのですが、万全に動くものとなるかどうかはこれから確認します。

JavaScriptをどこまで使わないことができるか。 いや、C#でどこまでやれるか。まだまだ挑戦できそうです。