みなさんお待ちかねの .NET 5 のリリースが迫っています。もう少しだけ待ちの日々ですが .NET 5 の RC1 版が公開されて動かすことができます。
そこで、実際に環境を整えて動かしてみましょう。
■ 用意するもの
- Visual Studio 2019 の Preview 版をインストール
- .NET 5 SDK をインストール (私は Windows の x64 インストーラーでインストールしました)
■ プロジェクトの作成
dotnet
コマンドで作成してもいいのでしょうが、今回は折角インストールしたので Visual Studio 2019 Preview でプロジェクトを作成してみます。
お試しならばコンソールアプリが鉄板ですが、さらに折角なので WPF で行ってみましょう。
WPF App (.NET Core)
を選択
出来上がったプロジェクトのプロパティを開いて、対象のフレームワーク が .NET Core 3.1
になっているのを .NET 5.0
に変更
これで実行すれば、.NET 5 の WPF アプリなのですが、実際起動するアプリの見た目は普通の WPF アプリなので .NET 5 のコードを書いて観ます。
.NET 5 で使える C# 9 の新機能に Records という機能があります。これを試してみます。
■ C# 9.0
お試しコードは先の ブログ記事 で書かれている LoginResource
レコードにしてみます。
using System.Windows; namespace WpfApp1 { /// <summary> /// Records /// </summary> public record LoginResource(string Username, string Password, bool RememberMe); public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { // Records を new LoginResource lr = new("name", "pass", true); MessageBox.Show(lr.ToString()); } } }
<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <Button Content=".NET 5" Click="Button_Click"/> </Grid> </Window>
■ 実行
実行してボタンをクリックしてみます。
計画通り! Records の ToString() 結果は分かり易くていいですね。
■ .NET Core 3.1 に戻してみる
計画通り実行されましたが、実際 .NET 5 だから Records を使えていたことを確認するために .NET Core 3.1 に戻してみます。
またしても計画通り! Records が使えずエラーになりました。
■ さあやってみよう!
ちょっとインストールしてみるだけで、なんと .NET 5 が試せました。簡単ですね。