2012-01-06 30 views
2

我想對錶單中的所有組件遞歸地進行翻譯。所以我的功能將從表單開始。在遞歸之前,很明顯我必須知道包含當前對象所具有的子項的屬性。在vb。 net,如何知道對象是否具有特定屬性

例如

  • 如果當前對象是myForm的(類型:表),它具有屬性Controls作爲 遞歸的目標
  • 如果當前對象是myLiv(類型:ListView中), 它具有屬性Items作爲目標遞歸,它沒有 有屬性控件。

我想使用它的方法,我會檢查當前對象有房地產項目如果沒有,檢查是否有屬性選項卡,等等......那麼最後的回退,檢查它是否有屬性控件。

現在的問題是如何檢查當前對象是否有特定的屬性? NB沒有提示任何錯誤...

+0

你確實知道有翻譯支持[內置於](http://msdn.microsoft.com/en-US/library/y99d1cd3(v = VS.80).aspx] .Net框架? – MarkJ 2012-01-06 08:18:09

回答

1

你可以使用反射來做到這一點,但這意味着你的性能受到打擊。

或者,您可以使用Is運算符來執行此操作,以查看您擁有哪種類型的Object,然後轉換爲該類型。

+0

這是一個但我使用了30多個組件(textbox,label,tabcontrol,listview,以及第三方組件,例如telerik)。 使用這種方法可以讓我爲所有組件編寫if/elseif。 。 所以我的做法是,以確定哪些財產持有的孩子.. – 2012-01-06 05:05:01

+0

你可以做到這一點與反思......就像我說的...但它是一個重要的性能損失。 – 2012-01-06 05:17:10

+0

對不起,你能給我的代碼示例?? – 2012-01-06 05:46:24

相關問題