Не уверен, что вы пытаетесь достичь и почему вы используете дженерики для чего-то, что не известно во время компиляции, но вы можете попробовать следующее:
public class Repository<T> : IDisposable where T : class
{
private DeltaDBEntities context;
private ObjectSet<T> objectset;
public Repository()
{
this.context = new DeltaDBEntities();
if (typeof(T) == typeof(ViewModels.Company))
{
this.objectset = context.Companies;
}
else if (typeof(T) == typeof(ViewModels.SomeOtherClass))
{
this.objectset = context.SomethingElse;
}
else
{
this.objectset = context.Set;
}
}
public void Dispose()
{
// TODO: implement IDisposable
}
}
Также обратите внимание, что статический класс не может реализовать интерфейс, поэтому Repository<T>
не должен быть статическим.