2012-11-21 94 views
2

在下面的代碼中哪個更好?從CardPanelDesigner_AddPage中調用添加頁面?或者使用Func TransactionFunction?每次都有新的實例嗎?

基本上我想知道如果做內部func會每次創建一個「新功能」:S我甚至不知道我在問什麼。

做內部函數還是應該使用addpage?

private object AddPage(IDesignerHost Host, object Sender) 
    { 
     return null; 
    } 

    private void CardPanelDesigner_AddPage(object sender, EventArgs e) 
    { 
     IDesignerHost DesignerHost = (IDesignerHost)GetService(typeof(IDesignerHost)); 
     if (DesignerHost != null) 
     { 
      Func<IDesignerHost, object, object> TransactionFunction = (Host, Param) => 
      { 
       return null; 
      }; 

      TransactionInfo("Add Page", DesignerHost, AddPage); //Add page? OR TransactionFunction? :S 
     } 
    } 
+0

CardPanelDesigner_AddPage和TransactionFunction不會做同樣的事情。我不知道你在問什麼;) –

+0

什麼?您甚至在沒有閱讀的情況下投票表決:S 有一個INNER函數。函數中的函數使用Func <...>和lambda; 我在問是否最好使用inner函數或使用addpage函數。 基本上..是否TransactionFunction作爲一個變量..是否每次調用外部函數時都會創建一個函數的新實例.. – Brandon

+1

@levib他問'TransactionFunction'是否應該在CardPanelDesigner_AddPage中初始化或者應該像這樣初始化:'Func TransactionFunction = AddPage;'...我認爲 –

回答

3

是,TransactionFunction將創建新的對象,每次CardPanelDesigner_AddPage被調用。然而,這種性能開銷可能可以忽略不計。你應該做任何最適合你的事情(和你的團隊)。

相關問題