C# 컴파일러가 개체에 대해 누락 된 연산자 오버로드를 무시하고 대신 런타임에 해당 검사를 처리 할 수 있습니까? int, string, ushort 등의 다양한 속성을 가진 여러 객체가있는 컨테이너가 있기 때문에 물어 봅니다. 해당 컨테이너에 대한 검색 기능을 만들고 있으며 다양한 필드를 검색 할 수 있기를 원합니다.오브젝트를 연산자 X에 과부하가 걸리도록 "가정"하는 방법은 무엇입니까?
저는 술어와 람다 식을 사용하고 있습니다. 이것은 (하지만, 그것은 작동) 오늘을해야 할 것입니다
ID 및 날짜를 가정
var data = container.Retrieve(ID => (ID == 5), Date => (Date > somedate));
이 컨테이너의 객체에서 필드입니다 :
이
내가 원하는 것입니다var data = container.Retrieve(ID => ((int)ID == 5), Date => ((DateTime)Date > somedate));
그 여분의 주조는 첫 번째 예제와 비교할 때별로 좋지 않습니다. 나는 그럴 필요가 없습니다. 대신 런타임에이를 확인하는 옵션이 필요합니다.
이 작업을 수행 할 수있는 방법이 있습니까?
좋아 봐. 빠른 답변을드립니다. :) – Hallgeir
@Hallgeir : 자신 만의 객체를 사용하거나 객체에서 파생 될 수있는 경우 암시 적 캐스트 연산자 오버로드를 사용할 수 있습니다. 이것이 귀하의 상황에 적용될 수 있는지 확실하지 않습니다. – Abel