C#の自動実装のイベントは解放されるのか?

C#

C#では、プロパティのイベント版ともいえる「自動実装イベント」を以下のように宣言することができます。 public event Action EventAction; 上述のコードですが、イベントを登録した事によって親オブジェクトもしくは子オブジェクトが破棄されないのでは?…

メンバーに構造体配列(のポインタ)を持つ構造体のマーシャリング

C#の相互運用(ネイティブDLLの呼び出し)で構造体の中に構造体配列(のポインタ)を持つ関数のマーシャリングのやり方です。 ネイティブDLL側の宣言 ネイティブのDLL側の宣言は以下のようになっているとします。 // Sample.h // 外部に公開する関数 extern …

dllexport と__stdcallを同時に宣言すると関数名が変わる

C++

VsiaulStudioのC++のプロジェクトで、DLLを作成し、関数を外部公開するため、 extern "C" と dllexport を指定したところ予期しない名前がついていて関数呼び出しが失敗してしまいました。 以下のように、外部公開される名前の先頭にアンダースコア、末尾に…

Excelで増殖したセルのスタイル(書式)を一括で削除する

Excelでファイルサイズが異様に大きくなっている時に、セルのスタイルが異常に増殖している事があります。 原因は不明ですが、どうやら"シートを複製する"、"セルをコピペする"操作で増殖するみたいです。 以下のネームドが増えまくる問題に似ていますね。 h…

VisualStudioのエラーリンクの検索エンジンをGoogleに変更する

VisualStudioでコードを書いている時にコンパイルエラーが発生した際に、エラーリンク(以下画像の赤枠)をクリックすると、Bingでエラーが検索されます。 このBing検索、全く役に立たないので検索エンジンをGooleに変更します。 前提条件 以下、唯一の条件で…

C#の自動で作成されたイベントハンドラの命名規則

C#

イベントハンドラを自動生成した時に、以下のメッセージで注意を受ける事があります。 IDE1006 C# 名前指定の規則違反: 最初の単語 '${メソッド名}' は、小文字で始まらなければなりません IDEが自動で作ったコードをこちらに修正しろというのもいちょっとよ…

拡張メソッドを使ってObjectクラスを拡張しstringプロパティを一括でEmptyに初期化する。

C#

以前に、ブログで書いた「C#でstringを一括でEmptyに初期化する」という記事でstringのプロパティに対して一括でstring.Emptyを設定する方法を紹介しましたが、今回は拡張メソッドを使用してObjectoクラスを拡張してstringクラスへ初期値として任意の値を設…

ステンレス製アイス・キューブの開封&レビュー

氷と違って薄まらずに飲み物を冷やしてくれるアイス・キューブを買ったので開封&レビューしたいと思います。 今回購入したのはコレ。ステンレス製のキューブが8個入ったMiriyonのアイス・キューブです。 ステンレス氷 アイスキューブ 溶けない氷 ウイスキ…

コカ・コーラクリアを飲んだ感想

自分、コーラは結構好きなのでたまに飲んでいるため、透明なコカ・コーラクリアは珍しいなと思い買ってみました。 早速のんで見たいと思います。 「いただきま~す。」 「ゴクッ…」 「うぇっー?!何だこりゃ!!?」 が、感想でした。 はい、とってもマズい…

XとYのグリッド構造を全て列挙する foreach 操作を C++ で実装する

C++

画像処理や、ゲーム作成をしていると、結構な頻度でXとYで表される2次元のグリッドを扱う事があると思います。その時に、全グリッドを対象にした処理を書く際に以下のようなループ処理を結構な頻度で書く事になると思います。 // 頻繁に出てくるループ処理 f…

文書で句点にピリオドを使う事がJISの規格というのは都市伝説か?

タイトルの通りですが、 Q:技術文書の句点に半角ピリオドを使うのがJISで規格化されているというのは本当か? A:JISに規定は存在しない。 何故こんなことが気になったのか? 自分自身この業界に入って文章に「。」の代わりにピリオド「.」を使う人を結構見…

初心者に「非」おすすめなプログラミング言語

よくネットのフォーラムで、「最初に学ぶべきプログラミング言語は何か?」という話題が投稿され、その度に大変な宗教戦争が起きています。しかしその逆に「初心者が最初に学ぶべき"ではない"言語」は一体何か少し考えてみました。 ここでは、今まで一度もプ…