How does contravariance work with Func delegate in .net core
问题 I have the following piece of code where I am trying to write a generic validation rule for my domain objects. while doing so I have an issue to deal Func delegate supporting variance public class Person { } public class Employee : Person { } internal interface IValidation<T> where T: Person { void AddValidationRule(Func<T,bool> predicateFunction); } internal class BaseValidation : IValidation<Person> { void IValidation<Person>.RegisterValidationRules(Person person) { } } internal class