閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

C#

プライベートメソッドのテスト

C#でprivateなメソッドをテストしたい時ってどうするのが定石なのだろう。C++では、#define private publicなんていう恐ろしい手があるらしいですが、C#だとリフレクションとか使って頑張るしかないのでしょうか。リフレクションまだ勉強してないのでさっぱ…

UnitRun

菊池 Blog - 菊池 Blog 経由で、ResharperというVisual Studioのアドインに含まれているユニットテスト機能がフリーで公開されたとのことなので入れてみました。 ReSharper UnitRun :: The Best Runner in .NET Unit Testing Marathon 昨日知って触ってみた…

C# で COM インターフェイスを操作

アプリをテストするのに Ruby やら JScript やらを使って COM インターフェイスをあれこれしていたのですが、今の所テストは好きな言語でいいのだし、見た目にもちょっとインパクトがほしいなあと思って C# 使ってみました。いや、実際 EXE の中のウィンドウ…

enum で定義された値を foreach でこねくり回す

列挙体を列挙しちゃうよ! なんて……。 public enum Sample { A = 100, B = 200, C = 500 } class Program { static void Main(string[] args) { foreach (int n in Enum.GetValues(typeof(Sample))) { Console.WriteLine(n); } Console.ReadLine(); } }C# で…

C# で他に抑えておきたいところ

そういえば C# で興味を持っているものが他にもあったのだった。とりあえずメモだけしておこう。 MSBuild DI コンテナ NUnit (Unit Test) というか言語そのものもそろそろちゃんと理解しておいた方が良いような気もする。

EXE サーバできた

プロジェクトオプションを変更して、一度クラスライブラリを生成してからレジストリに登録されている値を比較してみたところ、クラスライブラリのほうは CodeBase というキーに生成した dll のパスが入っていて、どうもこれが exe の時に設定されていなかっ…

exe サーバ

C# で、というか .NET Framework で exe サーバって作れないんでしょうか。クラスライブラリならプロジェクトプロパティの「COM 相互運用機能の登録」とすると何もしなくても外からライブラリの中で定義したクラスを扱えるみたいですが、普通の exe を作ると…

B-spline

ラグランジュより仕事で使っているものを理解しておいた方が良いかと思うので次は B スプライン補間をしてみます。 B-Spline -- from Wolfram MathWorld 式を見て初めて B スプラインは外挿を行えない理由がわかりました。ただ、ノットベクトルの方がよくわ…

NPlot

.NET Framework で使えるグラフ描画ライブラリ。データをセットするだけで簡単にプロットが描ける上、凡例なども出せるようです。自分でグラフを描くのが面倒なので導入してみましたが、これはなかなか便利です。軸とか作るの、仕事ではやってるけど家で暇潰…

C# はオブジェクトの生存期間 (スコープ) を定義できる

あんまり C++ に偏ってもいけないか……ということで。Java は知らないけれど(後で調べる) C# ではオブジェクトの生存期間を定めることができます。つまり RAII idiom は C# でもできたりします。>using System;namespace raii { class hoge : IDisposable { p…

cpp_to_hatena を GUI で

C# の練習。 .NET Framework ちょう便利。VC2005 と VC#2005 同時起動していても全然ストレスが無く動作してる。ノートだと VC2005 単体でももっさりしていたのに。メモリ 2G は伊達じゃないということか。

を入れました

C#

ということで C# の ExpressEdition をインストールしました。 C++/CLI は面白いけれど何か気に入らない (多分 C++ が高級になるのが気に食わないのでしょう←素でも十分高級な気がするけど) のと色々中途半端で遊ぶのには物足りないので、 .NET で遊ぶなら C…

type system unification

どうやら C# ではリテラルもオブジェクトになっているみたいですね。 C++/CLI でも一応そうなっているようです。 Console::WriteLine( (1).GetType()); // > System::Int32 Console::WriteLine( (1.23).GetType()); // > System::Double Console::WriteLine(…