Вот класс
public class Repository<T>
{
T GetSingle(Expression<Func<T, bool>> condition);
}
А затем в другом классе, который принимает аргумент универсального типа, у меня есть что-то вроде:
repo = new Repository<TEntity>();
repo.GetSingle(x=> x.Id == 1);
// That won't compile because TEntity is a generic type.
//Compiler doesn't know if TEntity has Id or not.
Итак, как передать это выражение?
UPD: создание класса ограничения типа представляется разумным решением.Но, к сожалению, не работает для меня.TEntity в моем случае - это EntityObject Entity Framework.Даже если я попытаюсь создать класс ограничений и вывести его из EntityObject или StructuralObject, компилятор скажет: неявного преобразования ссылок не существует