【C#】.NET 8のWPFでNFCのデータを読んでみた【MVVMもあるよ】
おはこんばにちは。みなとです。数億年振りに技術エントリです。
ひょんなことからNFC Type-Aの空のカードを入手しまして、リーダライタもちょうど埃をかぶっていたところだったので色々試してみることにしました。
いやしかし、仕事を含めかなり久し振りにC#のコードを書きましたが、凄い発展を遂げていますね…
作ったもの
こんな感じです。

基本的には見たまんま、アプリ起動時に接続されているデバイスの一覧がコンボボックスで表示されて、カードをかざした状態で “Read” ボタンを押すと下部のテキストボックスに何らかの情報が出力されます。何の情報なのかは、謎です(ラーメンズ風)
もとい、データの詳細については追って調べようと思います。
ソースコード
サンプルのうえまだまだ作りかけですが、GitHubに置いてます。
参考にしたサイト
大体ここら辺に書いてあることをかき集めると内容は分かってくると思います。
- .NET用 MVVM Toolkit v8でMVVMコードを短く #C# – Qiita
- WindowsでNFCタグを読み取る #C# – Qiita
- PCSC-sharpライブラリでNFCタグの読み取りソフトを作ってみた #C# – Qiita
- C#でNFC(Felica/Mifare)の読み取り – 実践編 その1 – ATR, IDm/UID, カードタイプの取得 | すばらしきOfficeとアドインの世界
今後やりたいこと
- ログとかちゃんとする
- 汎用ホスト化
- カード置き待ちをちゃんとやる
- もうちょっと有益そうな情報を出す
- 書き込みに対応する(PCSC-sharpのEnumにWriteBinaryとかあるからやれなくはなさそう)
- 何らかのUIフレームワークを使ってかっちょいくする
- …and so on