マガジンのカバー画像

ちょっとレアなプログラミング Tips

29
.NET(C#/VB.NET)を中心に、珍しめの Tips をご紹介していきます。
運営しているクリエイター

#ソフトウェア開発

【今さら極める VB6 -Part 2】VB6 でもユニットテスト/モック利用

VB6 でも(簡易的・擬似的ではありますが)ユニットテストを実装することができます。 モック…

CodeOne
4年前

【今さら極める VB6 -Part 1】文字列連結の100倍高速化(VB6 版 StringBuilder)

ADODB.Stream クラスの WriteText メソッドを使用することにより、文字列の連結を高速に行うこ…

CodeOne
4年前

[VB.NET] 型変換/キャストのまとめ ―どう使い分ければいいのか?

明示的な変換(キャスト)キャスト演算子 C# のキャスト演算子 () に相当するものは VB.NET に…

CodeOne
4年前
2

[Entity Framework] トランザクションのスコープ制御(EF6:Code First)

Entity Framework のコンテキストにおいて、トランザクションは、既定では SaveChanges() を実…

CodeOne
4年前
2

[.NET][消費税] 税込価格から本体価格を逆算する式(四捨五入/切り捨て/切り上げ)

税込価格から本体価格を算出する方法は、消費税の端数処理方式によって異なります。 たとえば…

CodeOne
5年前
1

[.NET] 単体テストがさくっと書ける!モック化の枠組み(Moq + Autofac)

モックライブラリ Moq とIoCコンテナ Autofac を使用してモック化する例です。 単体テストの基…

CodeOne
5年前
1

[.NET][改元] 「元年」表記に変わる日付書式が今になって拡大!(フレームワーク別の対策が必要)――マイクロソフト様、重大な変更をしれっとリリースしないで

「元年」表記の既定動作が突然変わった!新元号「令和」が発表されて間もない4月5日、一緒に仕事するエンジニアの方に教えていただき、愕然としました。 2019 年 4 月 3 日 — KB4489192 Windows 10 Version 1809 および Windows Server 2019 用の .NET Framework 3.5 および 4.7.2 の累積的な更新プログラム 書式パターンに "年" の文字を囲む半角の引用符が含まれているかいないかに関係なく、1 年

[.NET] コンストラクタより先にメソッドが実行されてしまうからくり――を解き明かす…

.NET では、コンストラクタから仮想メソッドを呼び出すと、派生型コンストラクタが処理されて…

CodeOne
5年前

[.NET] 単体テストがさくっと書ける!モック化の枠組み(Moq + Unity)

モックライブラリ Moq とDIコンテナ Unity(※1)を使用してモック化する例です。 単体テスト…

CodeOne
5年前
3

「共変性」「反変性」が絶望的にわかりづらいので○○○○性と命名し直してみた

先週、解説記事(どこで何を読んでも「はあ?」だった人が最後にもう一度だけ挑戦する「共変性…

CodeOne
5年前
1

そういうことか! どこで何を読んでも「はあ?」だった人が最後にもう一度だけ挑戦す…

※少し長くなりますので、時間のない方はまず こちらの記事 を読んでみてください。 プログラ…

CodeOne
5年前
1

[.NET][JavaScript][SQL] null と空文字の等価/不等価判定を言語別に並べて比較して…

言語によって null や空文字の扱いは異なることがあります。 以下に例を示します。(★は注意…

CodeOne
5年前
2

[.NET] 便利な実行時インスペクションツール(フリー/オープンソース)~丸見え&診断…

■Windows フォームHawkEye 2 実行時にプロパティ、フィールドの確認/変更、イベントハンドラ…

CodeOne
5年前
1

[.NET] コードを見直したくなる「参照型」等価判定の思わぬ落とし穴(特殊編)

一般編に続き特殊編です。 インターンプール文字列のリテラルは「インターンプール」というテーブルに保持され、同一値に同じ参照が使用されます。 String.Intern メソッドでそれらの参照を取り出すことができます。 ▼同一値のリテラルは参照も一致します。 string literal = "CodeOne";Assert.IsTrue(Object.ReferenceEquals(literal, "CodeOne")); ▼値は同一でも、リテラルと連結された文字列