NonNullPointer
C++で言うところの参照のように、nullを代入できない参照。
/// <summary>nullを代入できない参照</summary> public sealed class NonNullPointer<T> { private T org; private NonNullPointer() { } public NonNullPointer(T o) { Value = o; } public T Value { get { return org; } set { if (value == null) throw new ApplicationException("Null pointer"); org = value; } } }
pmokyさんの話題から。
http://d.hatena.ne.jp/pmoky/20051217
未テスト。便利かどうかは不明。