2012-09-06 137 views
0

的隱藏屬性我用自定義活動的工作流:淨工作流程:活動

公共類isOkActivity:System.Workflow.ComponentModel.Activity

這是我的一些活動的基本類型。

在我的工作流程的設計器視圖中,所有公共屬性都顯示(並執行)。

其中一個屬性會執行一些沉重的數據庫過程,我不希望每次在工作流程中都執行這些過程。

有什麼辦法可以隱藏設計師的財產嗎?

enter image description here

回答

1

是的,還有一個辦法:即屬性更改爲一個方法。如果它做了一些繁重的數據庫工作,它不應該是一個屬性,無論如何,因爲屬性應該是輕質的。

如果你不想這樣做,你至少可以使用Activity.DesignMode停止數據庫查詢,如果你是在設計模式:

public bool CanRun 
{ 
    get 
    { 
     if(DesignMode) 
      return false; 

     // your database stuff 
    } 
} 
+0

我有理由有使用屬性。 (反射就是其中之一)另外:這個值的目的只是一個屬性。這是一個布爾值,表明活動是否應該運行。 「感覺」更像是一種財產,而不是一種方法。 –

+0

@ OleAlbers:它「做了一些繁重的工作」這個事實對於這個班的使用者來說是令人驚訝的。出於這個原因,我會讓它成爲一種方法。 –

+0

好的。 「重」的工作可能有點誇張。 :)它在數據庫上做了一個選擇,就像幾乎所有的活動一樣,我只是不想在設計器中使用DB操作 –