アーカイブ

Archive for 2018年7月

C# 7 値の破棄

SignalR Coreのサンプルを見ていてTaskをawaitせずに返却しているところで、宣言もなく “_” にTaskを受けているところがあり、ドキュメントバグか?と思い実際コードにしてみても問題なく動く。

public ChannelReader Counter(int count, int delay)
{
    var channel = Channel.CreateUnbounded();</code>

    // We don't want to await WriteItems, otherwise we'd end up waiting
    // for all the items to be written before returning the channel back to
    // the client.
    _ = WriteItems(channel.Writer, count, delay);

    return channel.Reader;
}

https://docs.microsoft.com/ja-jp/aspnet/core/signalr/streaming?view=aspnetcore-2.1

??と思って調べてみたらC#7でこんな機能が入ったんですね。
https://ufcpp.net/study/csharp/datatype/declarationexpressions/#discards

広告
カテゴリー:未分類

Static field in generic type

ReShaperさんがこんな警告を上げていたので調べてみた。

キャプチャ

Static Field in generic type

Static Fieldがジェネリックで使われていると、、、ふむ、、、なんとなく、ジェネリックで作られた型ごとに静的フィールドが作られるのかな?

2014年のneueさんの記事が引っかかった。→ジェネリッククラス内の静的フィールドの挙動について

 

カテゴリー:未分類