두 테이블, 점심 및 저녁 식사를 가정 해 보겠습니다. 나는 둘 다 DateTime 속성 "Time"을 가지고 있다는 것을 알고있다.표현식의 일반 속성 참조
일반 메서드 GetTime이있는 경우 T가 Lunch 일 때 db.Lunch.Time을 반환하고 T가 Dinner 일 때 db.Dinner.Time을 반환 할 수 있습니까? 나는 T를 개별적으로 typeof를 사용하여 테스트하지 않고이 목표를 달성하기 위해 노력하고 있지만 오히려 일반적으로 사용합니다.
의사 코드 : 내가 GetTime에 < 저녁 식사를 호출 할 때
public T GetTime<T>(DateTime dt)
{
return MyDataContext.GetTable<T>().Where(entity => entity.Time == dt);
}
그래서> 자동으로 내 공급 매개 변수 (DT)와 동일한 속성 시간에 모든 저녁 식사 엔티티의 저녁 식사 테이블에서 찾게됩니다.
문제는 내가 구체적으로 엔티티를 사용할 수 없다는 것입니다. T는이므로 제 표현식에 T가 많이 사용됩니다. 내 질문은 그걸 해결하는 방법입니다. 그래서 어떤 T도 (은 시간 속성을 가지고있는 모든 엔티티가 Dinner and Lunch에 대한 특정 메소드를 만들지 않고) 찾을 수 있습니다.
시간이라는 속성이 있습니다 오히려 혼란 스럽다. 코드 샘플 또는 의사 코드가 도움이됩니다. –
일부 의사 코드를 추가하고 좋은 대답을 얻었습니다. – Alex
_generics_는 _ 템플릿 _이 아닙니다. type 매개 변수를 사용하여 수행하는 모든 작업은 type 매개 변수의 제약 조건에만 기반하여 해석 할 수 있어야합니다. –