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
任何关于如何使这项工作或最佳方法的指导?
你应该说明* *什么你正在尝试做的 - 这* *怎么可能未启用的方式,因为'getProp'不能是一个可变参数和一些别的属性。你可以使用反射,但我怀疑有一个更简单的方法。 GetSet是什么? – Plutonix