나는이 코드를 List를 입력 매개 변수 중 하나로 사용하는 일반적인 메서드를 사용합니다. 메서드 내에서 공통 LINQ 호출로 실행되는 IF/ELSEIF 문입니다. LINQ가 모든 IF/ELSEIF에 공통으로 적용될 수 있도록 도와주세요.제네릭과 IList 관련
private Boolean filterList<T>(List<T> anyOutdoorSports, int numberOfPartcipants)
{
if (anyOutdoorSports == null){ return false ;}
Boolean _returnValue = false;
if (anyOutdoorSports.GetType() == typeof(List<Swimming>))
{
List<Swimming> Swimming = anyOutdoorSports.Cast<Swimming>().ToList();
if (Swimming.Count > 0)
{
int listCount = (from rca in Swimming
where (rca.RecordFields[numberOfPartcipants].ToString()).StartsWith("stamina")
select rca).Count();
_returnValue = listCount > 0 ? true : false;
}
}
else if (anyOutdoorSports.GetType() == typeof(List<Tennis>))
{
List<Tennis> Tennis = anyOutdoorSports.Cast<Tennis>().ToList();
if (Tennis.Count > 0)
{
int listCount = (from rca in Tennis
where (rca.RecordFields[numberOfPartcipants].ToString()).StartsWith("stamina")
select rca).Count();
_returnValue = listCount > 0 ? true : false;
}
}
else if (anyOutdoorSports.GetType() == typeof(List<Soccer>))
{
List<Soccer> Soccer = anyOutdoorSports.Cast<Soccer>().ToList();
if (Soccer.Count > 0)
{
int listCount = (from rca in Soccer
where (rca.RecordFields[numberOfPartcipants].ToString()).StartsWith("stamina")
select rca).Count();
_returnValue = listCount > 0 ? true : false;
}
}
return _returnValue;
}
누구든지 열람하거나 참조한 사람에게 감사합니다.
'Swimming', 'Tennis' 및'Soccer '가 동일한 기본 클래스에서 파생 된 경우 generic을 사용하지 말고'List '을 사용하는 메소드를 사용해야합니다. –
bluevector