2010-08-20 4 views
2

내 문제는 특정 날짜를 전달하여 (달력)의 목록에서 정확한 하나의 달력 개체를 찾을 것입니다. 나는 술어에 대해 알게되었지만 매개 변수를 매개 변수에 전달하는 것에 대해서는 확신하지 못했다.술어에 추가 매개 변수를 전달하려면 어떻게해야합니까?

컬러 코드는 목록 (달력)이며, 일정 클래스는 내가 비교하고 원하는 개체를 반환 할로 DtmDate라는 속성이 있습니다.

Dim a As Calendar = colourcode.Find(AddressOf New Calendar.FindByDate) 

Google에서 술어 샘플을 얻었으며 지금까지 도달했습니다. 그러나 내 매개 변수 즉 날짜를 전달하는 방법을 모릅니다.

답변

3

당신은 자신의 조건을 만들어야합니다. 당신은 람다 (lambda)를 사용하여 그것을 할 수 있고 지역 변수를 매개 변수화 할 수 있습니다. 다른 문자열을 검색 할 lookFor의 값을 변경하는 방법을

Dim lookFor As String = "e" 
Dim predicate = Function(s as String) s.Contains(lookFor) 

Dim list As New List(Of String) 
list.Add("alfa") 
list.Add("beta") 
list.Add("gamma") 
list.Add("delta") 
Dim foundString As String = list.Find(predicate) 

주의 : 여기에 .NET 3.5/비주얼 스튜디오 2008에 대한 다소 바보 예이다. .NET에서

4/비주얼 스튜디오 2010 Visual Basic의 더 많은 표현 람다 표현식을 가지고 :

+0

감사합니다! 여기에 한 가지 더 많은 해결책이 있습니다. http://gist.github.com/295062 – Antoops

관련 문제