I've got this class:
public static class Repository<T> where T : class
{
    ....
}
I understand public and static and class and Repository<T>,but I'm not understanding this:
where T : class
Is Repository extending or implementing class?  Or does the : class refer back to the type <T>?
!!ALSO!!:
And, if I have an abstract base class DataAccessBase that I want this class Repository to inherit, how do I do that?