2
私が考えるしたいコードの2つのブロックが等しいた:C#7のパターンマッチングセマンティクス
そしてまったく同じであるが、タイプ上ケースを切り替える変換。
コードがnullでない最初return Actor.Done
にnull参照例外がスローされ基づいてスイッチを(悪いResharperの赤色の波線マーカーについて申し訳ありませんが、Resharperのは、まだこのことを理解doesntの)。
これはパターンマッチのバグですか、私がここで欠けている意味ですか?
私はそれのための修正を見つけた[編集] ..
この変更:
case MessageEnvelope _:
var env = m as MessageEnvelope;
に
case MessageEnvelope env:
は、それがすべての仕事します。 それで、私には疑問が残っています。
最初は「Started」と比較され、2番目は「Started.msg」と比較されます。 – jdweng
番号。 "msg"はpatternmatch内の型付き変数の名前です。 "。"はありません。そこに –
あなたは実際の値が何であるかを見るためにスイッチ内のブレークポイントを使ってみましたか? –