.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現場主義
- 作者: 渡部亮太,森坂康人
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2008/08/22
- メディア: 単行本
- 購入: 15人 クリック: 341回
- この商品を含むブログ (28件) を見る
の読書メモを記す。随時追記する。
続きを読むViewStateによるコントロールのプロパティ値復元の仕組み
はじめに
本エントリではまず、ViewStateの基礎的な内容について説明する。さらに、ViewStateによるコントロールのプロパティ値復元の仕組みについても説明する。
ViewStateというと、「@IT:.NETエンタープライズWebアプリケーション開発技術大全 Webアプリケーションの状態管理」で紹介されているように、「Sessionオブジェクトと同じような、データの保存用オブジェクト」といったレベルの認識がされやすい。この認識は正しい。しかし十分ではない。ViewStateは、それがないとASP.NETはまともに動作しないというほど重要な、ASP.NETの基盤技術のひとつなのだ。
ViewStateの詳細は、「ASP.NET ビューステート」や「サーバー コントロールのカスタム状態管理」で述べられているので省略し、本ブログの他のエントリでの説明のために必要な内容だけを述べる。