概要
流し読みノート
相互ってのは何と何の相互や
- ネイティブ API と C# コードの相互や。というより C# がネイティブ API を利用することを指してる。
- ネイティブ API って何や。
- .NET で実装されていないソフトウェアコンポーネントのことや。
- DLL とか COM とか Windows ランタイム型のこと。
- 別名、 unmanaged code。
- というわけで相互ってのは C# コードが DLL とか COM とかを呼び出すことだな。
Unmanaged code といえば、1章で managed code 出てきたよな。(『プログラミング C#』 その1 C# の基礎 - マネージコードって何だ)
C# コンパイラは中間語 IL(Intermidiate Language)を生成する。そしてランタイム(CLR のことだね)が機械語に変換する。こういうのをマネージコードモデルという。
例: DLL を呼び出す
// こんな感じになる。
[DllImport("Kernel32.dll")]
public static extern ulong GetTickCount64();
- こんなふうに DLL を呼び出すことを Platform Invoke という。
DllImpot
属性が Platform Invoke を宣言している。extern
キーワードは、 C# ソースコードにメソッド本体が存在しないことを意味している。
おしまい
なげーー!!!! 長かったわーー!!
って思ったのだけれど、2番目に読んだプログラミング本、『初めてのPython』だって700ページだったようだ……。(Mark Lutz『初めてのPython』)
好きな言語なので、冒頭の言語紹介の部分からもう面白い。前半をさらっとなぞった段階でのメモをずらずら書く。いやマジでさらっとだぜ。700ページ級の技術書をじっくり読むのは緑さんには辛いよ。
当時の記事をみたら、3記事でサラッとまとめていたな。今回もそんくらいにすりゃよかったな……。ぼくは一体どうしてたいした興味もないプログラミング言語の読書感想文を22記事も書いてんだ? 22記事ってなんだよ。
総括としては、そうだなー、あんまり楽しめなかったね。 C# が楽しいのかどうかは知らないけれど、この本は楽しめなかったなー。なんかすごく業務的で、教科書的。
全記事まとめ
- その1 C# の基礎
- その2 基本的コーディング
- その3 型
- その4 ジェネリック型
- その5 コレクション
- その6 継承
- その7 オブジェクトの生存期間
- その8 例外
- その9 デリゲート、ラムダ、イベント
- その10 LINQ
- その11 Rx
- その12 アセンブリ
- その13 リフレクション
- その14 動的型付け
- その15 属性
- その16 ファイルおよびストリーム
- その17 マルチスレッド
- その18 非同期言語機能
- その19 XAML
- その20 ASP.NET
- その21 相互運用機能
よく読んだなマジで。