Como você cria uma implementação de igualdade dinâmica onde você pode passar os nomes de propriedades para serem comparados?
Digamos que eu tenha um objeto Person com as propriedades abaixo:
public class Person
{
public int ID { get; set; }
public int EmployeeNo { get; set; }
public string JobDescription { get; set; }
public string Code { get; set; }
}
Como eu verificaria dinamicamente a igualdade de propriedades específicas pelo nome?
por exemplo.
var dynamicEqualityComparer = RetrieveDynamicEqualityComparer("ID", "JobDescription");
var intersectedPersons = listOfPerson1.Intersect(listOfPerson2, dynamicEqualityComparer);
O snippit acima usaria o método de intersecção linq padrão usando o método de comparação de igualdade gerada dinamicamente, que compara apenas os campos "ID" e "JobDescription".
Eu diria que algo assim teria sido fácil de encontrar, mas até agora não consegui localizar nada do tipo.