0
プロパティを持つ "person"というクラスがあります。プロパティ名のいくつかの例は...クラスプロパティ名をサブルーチンに渡す
person.name
person.surname
person.firstname
だろう私は、私もこれを行うことができるかどうかわからない...サブルーチンにこのプロパティ名を渡ししようとしています。私は100のプロパティを持っているので、これをやりたいと思うし、私は100のIFのステートメントを望んでいない。
これは私が現在やっていることであり、私は方法でそれをきれいにしたいと思います。写真100の場合は、このようなステートメントは、別のプロパティ名を確認します。
If propname= "FirstName" Then
If GetSet.caseexact = True Then
If GetSet.casesensativity = True Then
View.Filter = Function(m) DirectCast(m, person).FirstName = s
Else
View.Filter = Function(m) DirectCast(m, person).FirstName.ToLower = s.ToLower
End If
Else
If GetSet.casesensativity = True Then
View.Filter = Function(m) DirectCast(m, person).FirstName.Contains(s)
Else
View.Filter = Function(m) DirectCast(m, person).FirstName.ToLower.Contains(s.ToLower)
End If
End If
End If
これをメソッドでクリーンアップしようとしています。そのため、メソッドにプロパティ名を渡すこともできます。
Public Sub properties(filterstring As String, getProp as person)
View.Filter = Function(m) DirectCast(m, person).getProp = filterstring
End Sub
これを動作させる方法、または最適な方法についてのガイダンスはありますか?
あなたは* *あなたがやろうとしているかを記述する必要があります可変パラメータと他の何らかの特性を持つ。あなたはReflectionを使うことができますが、もっと簡単な方法があると思います。一体何が 'GetSet'ですか? – Plutonix