I have the following domain object:
public class Bank : IEntity
{
}
And the following IRepository:
public interface IRepository<TEntity> where TEntity : IEntity
{
}
Is the where TEntity : IEntity
needed? What does this mean, that TEntity is of type IEntity? Is there any naming conventions when I use something like TEntity? What does the T stand for?