2009-09-23 3 views
1

나는 이미지, 비디오 및 오디오 클립 등 3 가지 유형의 데이터를 가지고 있습니다. 각각은 관련 GPS 포인트를 가지고, 그래서 나는 다음과 같은 기본 클래스가 : 이것은 그래서 그것이 어떤 종류의 데이터에 대한 걱정없이지도에있는 모든 플롯 할 수있다POCO에 기본 클래스가 없으십니까?

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

합니다. 그러나, 나는 POCO가 C#의 기본 object 클래스를 제외하고는 파생되지 않는다고 읽었습니다. 사실입니까?

+4

입니다. 그건 정말로 아무 말도하지 않습니다. 모든 수업은 매우 실제적인 의미에서 데이터입니다. 나는 "Location"을 약간 더 알기 쉬운 이름으로 제안한다. – abelenky

답변

5

많은 POCO 개체에는 기본 클래스가 있습니다. 기본 클래스를 가질 수 없거나 기본 클래스를 가질 수 없다는 규칙이 없습니다. 귀하의 응용 프로그램에 이해가된다면 그렇게하십시오.

1

일반 오래된 clr 개체에 대한 상속에 문제가없는 것을 봅니다. 실제로 상속은 데이터 세트와 같은 것 대신 POCO 객체를 사용하는 이유에 대한 주도적 인 요소입니다.

1

어디서 읽었습니까? System.Object 이외의 클래스에서 파생되도록 허용되지 않은 경우 어떻게 객체 계층 구조를 작성 하시겠습니까? (System.Object은 항상 .NET의 클래스 계층 구조의 최상위에 위치 할 것입니다.)

+0

나는 이것을 다음과 같이 읽었습니다. http://www.subsonicproject.com/docs/Using_SimpleRepository 요약하자면 다음과 같이 말합니다 : "기본 클래스가없고 자체적으로 존재하는 객체, 일반 오래된 CLR 객체 POCOs라고 알려진). " –

+0

나는 'a'가 'are'라고 생각한다. –

1

POCO라는 단어를 사용하는 경우에는 기본 클래스를 상속 받아야만 일부 ORM 도구와 같은 frameork가 필요합니다

MyClass의 : PersistableEntity을 만 상속 할 수 있기 때문에

그래서 당신은 당신의 클래스 상속을 표현할 수 없습니다 (여기 PersistableEntity는 액티브 프레임 워크 기술 지속성을 관리하는 클래스입니다) 한 클래스에서. 그렇다면 상속 대신 집계를 사용할 수 있습니다.

그래서 귀하의 예제에서, 당신의 클래스는 질문에 대답 아니지만, 난 당신이 기본 클래스 이름 "데이터"를 재고 할 것을 촉구 POCO :

관련 문제