2011-03-26 47 views
3

假設我有我想在XAML中引用的課程。什麼是更高效的{X:Static Class.Default}或{StaticResource Class}?

public class MyConverter 
{ 
    public static readonly MyConverter Default = new MyConverter(); 
    ... 
}; 

然後在XAML我可以引用它要麼

<Label Content="{Binding Text,Converter={x:Static local:MyConverter.Default}"/> 

<local:MyConverter x:Key="MyConverter"/> 
... 
<Label Content="{Binding Text,Converter={StaticResource local:MyConverter}"/> 

哪種方法更有效?

回答

0

我懷疑這裏什麼會比其他更effecient但這裏的關鍵區別是什麼是真正回事:

  1. 在第一種方法你引用類MyConverter
  2. 的靜態字段在第二種情況下您正在創建一個實例MyConverter並使用它。

我相信第一個人可能會更快地結合百分比(或者你的意思是說效率高?),但這種差異不會給你帶來太多的利潤。如果您已經有一個靜態字段,我會選擇選項#1。還據我記得x:Static仍然不是在Silverlight中可用。

+0

這個問題更多的是理論上的自然,因爲有多種方式來剝皮貓。當然,日常表現並不重要,但是我發現x:Static更方便一些,因爲你不必聲明資源。 – AlexK 2011-03-26 22:03:10

相關問題