Pergunta

Eu tenho 3 tipos diferentes de dados: imagens, vídeos e clipes de áudio. Cada um tem um ponto de GPS associado, então eu tenho uma classe base como tal:

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

Esta é para que eu possa traçar tudo em um mapa sem se preocupar com o tipo de dados que é. No entanto, eu tenho lido que POCO não é suposto ser derivado de qualquer coisa, exceto a classe object de base em C #. Isso é verdade?

Foi útil?

Solução

Não, muitos objetos POCO têm base de classes.There há nenhuma regra dizendo que eles não podem ter ou deveria ter classes base. Se faz sentido na sua aplicação, em seguida, fazê-lo.

Outras dicas

Eu vejo errado nada com a herança de objetos CLR antigos simples. Na verdade, a herança é um fator determinante a respeito de porque eu gosto de usar POCO objetos em vez coisas como conjuntos de dados.

Onde você leu isso? Como você construir uma hierarquia de objetos se você não foram autorizados a provir de outros que System.Object aulas? (Escusado será dizer que System.Object estará sempre no topo da sua hierarquia de classes no .NET)

Quando a palavra POCO é usado, muitas vezes é para expressar o oposto de quando você deve herdar de uma classe base para usar um frameork como algumas ferramentas ORM requer:

MyClass: PersistableEntity (aqui PersistableEntity é uma classe para gerenciar técnico persistência em um quadro ActiveRecord)

Então, você não pode expressar herança em sua classe desde que você só pode herdar de uma classe. Se assim você pode usar a agregação em vez de herança.

Assim, no seu exemplo, sua classe é POCO:)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top