C#でジェネリックnullオブジェクトパターンを実装する方法があるかどうか疑問に思っています。ジェネリックnullオブジェクトは、Nothing
Scalaと同様に、すべての参照型のサブクラスです。のようです
public class Nothing<T> : T where T : class
しかし、コンパイルできず、デフォルトの動作を提供したり、例外をスローしたりするためのメソッドを実装する方法がわかりT
ません。ここにいくつかの考えがあります:
- リフレクションを使用しますか?
- 作成時に式ツリーを使用し
Nothing<T>
ますか?たぶんMoqのように見えます。そして別の質問が来ます:製品コードでモックフレームワーク/ライブラリを使用しても大丈夫ですか? - 動的タイプを使用しますか?
私は多分私が特定のタイプのために特定のnullオブジェクトを実装する必要があることを知っています。解決策があるかどうか知りたいだけです。
なにか提案を?ありがとう。