2016-09-13 122 views
-1

我真的很新vb.net,我期待,使这个代码少多余的,但我不知道怎么如何简化此代码?

ONE.DisplayLayout.Override.FilterOperandStyle = FilterOperandStyle.FilterUIProvider 
ONE.DisplayLayout.Override.FilterUIType = FilterUIType.FilterRow 
ONE.DisplayLayout.Override.FilterUIProvider = New SupportDialogs.FilterUIProvider.UltraGridFilterUIProvider() 

TWO.DisplayLayout.Override.FilterOperandStyle = FilterOperandStyle.FilterUIProvider 
TWO.DisplayLayout.Override.FilterUIType = FilterUIType.FilterRow 
TWO.DisplayLayout.Override.FilterUIProvider = New SupportDialogs.FilterUIProvider.UltraGridFilterUIProvider() 

THREE.DisplayLayout.Override.FilterOperandStyle = FilterOperandStyle.FilterUIProvider 
THREE.DisplayLayout.Override.FilterUIType = FilterUIType.FilterRow 
THREE.DisplayLayout.Override.FilterUIProvider = New SupportDialogs.FilterUIProvider.UltraGridFilterUIProvider() 

正如你看到的,唯一不同的是一,二,三。我如何简化而不重复?

谢谢!

+1

使其成为一项功能... –

+0

您是否尝试过使用“选择案例”? – David

+0

我会用'with'关键字 – romulus001

回答

4

我不知道什么是一,二,三类型,但是你可以做一个子:

Public Sub DoStuff(Data As YourType) 
    Data.DisplayLayout.Override.FilterOperandStyle = FilterOperandStyle.FilterUIProvider 
    Data.DisplayLayout.Override.FilterUIType = FilterUIType.FilterRow 
    Data.DisplayLayout.Override.FilterUIProvider = New SupportDialogs.FilterUIProvider.UltraGridFilterUIProvider() 
End Sub 

你做

DoStuff(ONE) 
DoStuff(TWO) 
DoStuff(THREE) 

UPDATE(以下称之为Andrew Morton的评论)

如果有三个以上的项目,您可以运行一个循环:

For each x In { ONE, TWO, THREE } 
    DoStuff(x) 
Next 
+0

非常感谢@SuperPeanut,我非常感谢你的帮助! –

+0

@ChristopherHunt如果你有更多的,你可以使用一个循环,例如在{ONE,TWO,THREE}'DoStuff(x)''Next''中的For Each x。 –