2

画像、動画、音声クリップの 3 種類のデータがあります。それぞれに関連付けられた GPS ポイントがあるため、次のような基本クラスがあります。

public abstract class Data {
    public Latitude { get; set; }
    public Longitude { get; set; }
}

これは、データの種類を気にせずに、すべてを地図上にプロットできるようにするためです。objectただし、POCOはC#の基本クラス以外から派生することは想定されていないことを読んでいます。これは本当ですか?

4

5 に答える 5

6

いいえ、多くの POCO オブジェクトには基本クラスがあります。基本クラスを持つことができない、または持つべきであるという規則はありません。アプリケーションでそれが理にかなっている場合は、それを実行してください。

于 2009-09-23T22:48:22.763 に答える
1

どこでそれを読みましたか。以外のクラスからの派生が許可されていない場合、オブジェクト階層をどのように構築しますSystem.Objectか? (言うまでもなく、これSystem.Objectは常に .NET のクラス階層の最上位にあります)

于 2009-09-23T22:49:45.080 に答える
1

POCO という言葉が使用されるときは、一部の ORM ツールが必要とするように、フレームオークを使用するために基本クラスを継承する必要がある場合の反対を表すことがよくあります。

MyClass : PersistableEntity (ここで PersistableEntity は、ActiveRecord フレームワークで技術的な永続性を管理するためのクラスです)

したがって、1 つのクラスからしか継承できないため、クラスで継承を表現することはできません。その場合は、継承の代わりに集約を使用できます。

したがって、あなたの例では、クラスは POCO です:)

于 2009-09-23T22:56:49.753 に答える
1

単純な古い clr オブジェクトの継承に問題はありません。実際、継承は、データセットなどの代わりに POCO オブジェクトを使用したい理由の原動力となっています。

于 2009-09-23T22:49:10.580 に答える