2012-11-21 53 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被调用。然而,这种性能开销可能可以忽略不计。你应该做任何最适合你的事情(和你的团队)。

相关问题