atsukanrockのブログ

Microsoft系技術を中心にぼちぼち更新します

.NET Frameworkで、シリアル化可能なタイプセーフenumを実装する

はじめに

本エントリでは、.NET Frameworkでシリアル化可能なタイプセーフenumを実装する方法を述べる。
結論から先に述べると、今の私にはそのうまい方法が思いつかなかった。今の.NET Frameworkでは、泥臭くしか実装できないのではないか。その考えにいたった経緯を述べる。

続きを読む

??演算子(null合体演算子)

??演算子(null合体演算子)というのがある。C# 2.0(Visual Studio 2005でのC#のバージョン)でも使える。恥ずかしながら、ついさっき知った…。

x ?? y

と書くと、xがnullの場合yと評価され、それ以外の場合はxと評価される。これ、絶対使う。

サンプルは以下のとおり。

// OracleのNVLみたいなもんですね
Console.WriteLine(null ?? "hoge"); // outputs "hoge"

// 連続させてもOK
Console.WriteLine(null ?? "hoge" ?? "fuga"); // outputs "hoge"

読書メモ『プロとしてのOracleアーキテクチャ入門 Oracle現場主義』

プロとしてのOracleアーキテクチャ入門 Oracle現場主義

プロとしてのOracleアーキテクチャ入門 Oracle現場主義

の読書メモを記す。随時追記する。

続きを読む

二十肩

社会人になってからというもの全くスポーツをしなくなっていて、どんどん体がなまってきているのが手に取るようにわかっていた。なので、土日だけでもスポーツをするようにしようと思い、先週からはじめてみた。
野球をやってみたら、いきなりきた。二十肩である。ボールを投げると肩が痛くて仕方がない。治るだろうか。心配だ。

Repeaterのコントロールツリー復元機能

はじめに

ASP.NETでの開発効率を上げるために、使いこなすことが非常に重要なコントロールのひとつにRepeaterコントロール(以降、単に「Repeater」と呼ぶ)がある。本エントリでは、Repeaterのコントロールツリー復元機能について述べる。
なお、本エントリの内容は、おそらくドキュメント化されておらず、私が独自に調査した結果に基づく。

続きを読む

ViewStateによるコントロールのプロパティ値復元の仕組み

はじめに

本エントリではまず、ViewStateの基礎的な内容について説明する。さらに、ViewStateによるコントロールのプロパティ値復元の仕組みについても説明する。
ViewStateというと、「@IT:.NETエンタープライズWebアプリケーション開発技術大全 Webアプリケーションの状態管理」で紹介されているように、「Sessionオブジェクトと同じような、データの保存用オブジェクト」といったレベルの認識がされやすい。この認識は正しい。しかし十分ではない。ViewStateは、それがないとASP.NETはまともに動作しないというほど重要な、ASP.NETの基盤技術のひとつなのだ。
ViewStateの詳細は、「ASP.NET ビューステート」や「サーバー コントロールのカスタム状態管理」で述べられているので省略し、本ブログの他のエントリでの説明のために必要な内容だけを述べる。

続きを読む