I have a connection between two base classes:
public abstract class RecruiterBase<T>
{
public abstract IQueryable<T> GetCandidates();
}
public abstract class CandidateBase<T>
{
}
And their specific implementations as such:
public class CandidateA : CandidateBase<CandidateA>
{
}
public class RecruiterA : RecruiterBase<RecruiterA>
{
public override IQueryable<CandidateA> GetCandidates()
{
return from c in db.Candidates
where c.RecruiterId == this.RecruiterId
select new CandidateA
{
CandidateId = c.CandidateId,
CandidateName = c.CandidateName,
RecruiterId = c.RecruiterId
};
}
}
In the MSDN documentation
http://msdn.microsoft.com/en-us/library/ms379564%28VS.80%29.aspx (about half way down) and a similar (but not identical) questoin on SO
Specifying the return method of an abstract method from base class according to the additional class
concreate GetCandidates, , , . / . , , ? , GetCandidates.
Justin