プログラム

C# Queue<T>のシリアライズ

Queue<T>をXMLでシリアライズした時に、そのままだと例外が発生したためその調査と対策を記述。実装コード/// シリアル化クラスpublic class Hage{ public Queue<long> LongBuffer { ge...
プログラム

C# コレクションクラスのシリアライズ

初めにとある理由でList<T>派生の独自のコレクションクラスを作成した時に、JSON/XMLへのシリアライズに問題が発生したので、調査した結果をまとめたものを記載。問題とは、以下の3点だった。 コレクションクラスのメンバーが出力されない ...
プログラム

単体テスト 久しぶりのテストプロジェクトのテストが実施できなくなっていた

過去テストができていたプロジェクトがあるのだが、新規にクラスを追加しテストを行ったところ、過去成功していたテスト項目も「未実施」マークのままとなった。当初は、なぜテストが実施できないかわからなかったのだが、ふと出力ウィンド側を確認したところ...
プログラム

C# List<T>.IList.Removeの例外動作

List<T>.IList.Removeメソッドで想定外の動作をしていた。現在、List<T>ライクで別の制約を持たせるコンテナクラスを作成していて、List<T>と同じメソッドを用意するため実装と評価をしているところ。ほぼほぼ完了したとこ...
プログラム

libgphoto2 gp_log_add_funcが見つからない

libgphoto2のgp_log_add_func関連をC++用ラッピングクラスを作成した時にエラーが出たため、その解消方法を記載現在使用しているバージョンは2.5.26。問題点C++ファイル中からgp_log_add_funcを呼び出し...
プログラム

Visual Studio 2019 Tips-Linuxクロス開発1

Linux、私はRaspberry Piを使っているが、そのC++でのクロス開発をVisual Studioをフロントエンドで行うことができたので、それに関しての覚書。VS Codeをフロントエンドとしたクロス開発ができる拡張があるようだっ...
プログラム

Visual Studio 2019 Tips-複数プロジェクトの共通設定取り扱い

初めにVisual Studio 2019 Tips-Linuxクロス開発1上記では、共有プロジェクトを参照しているとリモートマシン側の実行モジュール配置位置が異なり、そのため、プロジェクトに対して特別な記述が必要だと書いた。もし、同様なプ...
Garmin

Garmin Connect IQ-コマンドラインでのビルド・シミュレーター起動

プログラムのビルドとシミュレーターのコマンドラインでの起動方法について。ビルドコマンドとしては、次のような形になる。java -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar SDK...
プログラム

Visual Studio 2019 Tips-コンソールプロジェクトでWPF/WinFormを使えるようにする

.Net Core/.Net 5.0のコンソールプロジェクトでコンソールをベースにWPF・Windows Formの機能を使うにはどのような形にプロジェクトを整えればいいのかを調べた
プログラム

WPF UI オートメーション-メニュー操作1

Garmin Connect IQ-コマンドラインでのビルド・シミュレーター起動でお勉強する環境が整ったので、いろいろと調べながらサンプルプログラムを作っている。まずは、メニュー操作を習得するため、シミュレーターのメニュー一覧を出すプログラ...
Sponsored Link