は、私は、宣言に次のようになりますC#でジェネリッククラスがあるとします。空のインターフェイスまたは空の基底クラス
今public abstract class DtoQuery<T> where T : class
{ }
は、型パラメータは常に「DTO」であることを意図していますクラス。私はこれらの束を持っていますが、 "問題"ははありません。が共通しています。彼らはすべて、(明確な)公共財産の束を持ち、方法はありません。
私のDtoQuery<T>
クラスは、そのような "Dto"クラスのみを型パラメータとして受け入れることが理想的です。ですから、空のインターフェイスIDto
を作成するか、空のabstract class Dto
を作成する必要があります。
質問:どちらを使うべきですか?注:Dtoクラスは決して他のものや互いを拡張することはありません!
(私は私が非常にばかげてばかげたものを構築していないことを約束します。これはテストプロジェクトでのユーティリティ機能であり、プロダクションコードには使用されません)。
とにかく空でなければならないので、私はインターフェイスのために行くだろう。しかしそれはあなたにとって重要ではないので(P.S.によると)、何の結果もないでしょうから、どうして尋ねるのですか?これは意見に基づくものではなく、単にサイコロを振るだけです:) –
@RenéVogt私はそれが違いを生む理由を知らないという事実がコミュニティに誰もが知っていることを意味するわけではありません理由。それは何のための質問である、それらではない:)また、*これが生産コードの状況であれば? – MarioDS
扱っているジェネリック型にメソッドやプロパティがない場合、* code *と書くことはできますか? –