I have the following code
public abstract class BaseEntity<TKey> : IIdentifiable<TKey>
{
public TKey Id { get; set; }
}
public interface IIdentifiable<TKey> where TKey : IEquatable<TKey>
{
TKey Id { get; set; }
}
That generate this beautiful error message on BaseEntity
Error CS0314 The type 'TKey' cannot be used as type parameter 'TKey' in the generic type or method 'IIdentifiable'. There is no boxing conversion or type parameter conversion from 'TKey' to 'System.IEquatable'
What am I doing wrong?