tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 複数引数を持つデリゲート述語
投稿日: 2008/04/21(Mon) 19:06
投稿者魔界の仮面弁士
> Genericリストの便利そうなメソッド
こういう時には、ラムダ式の出番ですね。

strValue = "AAA"
FoundProfile = Contents.Find(Function(p) p.DFP = strValue)


> 任意のStringを引数として与えたいのですが
VB でも、匿名メソッドが使えれば楽なのですけれどね。

ラムダ式を使わずに実装するなら、
>  Return P.DFP = "AAA"
の部分を、
 Return P.DFP = Me.HogeValue
のように、外からプロパティ等で渡されるようにするか、あるいは
 Dim hogeValue As String = String.Empty
 RaiseEvent ValueCallBack(hogeValue)
 Return P.DEP = hogeValue
のように、内部からコールバックすることで対応してみては如何でしょう。



Dim FoundProfile As ProfileClass = Contents.Find(ProfileClass.EQCond("AAA"))

Public Class ProfileClass
  Public DFP As String

  Public Shared Function EQCond(ByVal value As String) As Predicate(Of ProfileClass)
    Return AddressOf New Condition(value).Equal
  End Function

  Private Class Condition
    Private s As String
    Friend Sub New(ByVal s As String)
      Me.s = s
    End Sub
    Public Function Equal(ByVal P As ProfileClass) As Boolean
      Return P.DFP = s
    End Function
  End Class
End Class

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。