いくつかのプロパティを持つクラスがあり、そのうちの1つはオブジェクトになるため、ExtraDataと呼びましょう。これは、3つの異なるタイプのいずれかのオブジェクトであり、3つすべての間に共有フィールドはありません。
3つのオブジェクトクラスすべてが実装するマーカーインターフェイスを作成し、ExtraDataプロパティをそのインターフェイスタイプにする必要がありますか?私が読んだことはすべて、.NETでこれを回避し、可能な限りカスタム属性を使用することを示しています。これを行う場合、ExtraDataを単純なオブジェクトにし、属性をチェックしてそのタイプを判別しますか?このデータを使用し、属性をチェックしてそれに応じてキャストしたい場合、これは多くの余分な作業のように思えます。
これは「マーカーインターフェイスを使用しない」ルールの例外ですか?それとも私は明らかな何かを見逃していますか?
ありがとう。