2010-11-10 65 views
0

出於某種原因,這個代碼將不能編譯:C#泛型: 'X' 是一個 '型',但用於像一個 '變量'

JsonSerializer serializer = new JsonSerializer(); 
_sectionStories = serializer.Deserialize < IDictionary<int, ObservableCollection<Story>>(new JTokenReader(contents)); 

錯誤:

Error 91 'System.Collections.Generic.IDictionary>' is a 'type' but is used like a 'variable'

什麼我在這裏做錯了嗎?我覺得我錯過了一些基本的東西。

+8

也許但應當_sectionStories = serializer.Deserialize < IDictionary >>(new JTokenReader(contents)); – sloth 2010-11-10 15:15:56

+1

@dkson - Yup,a>顯然在這裏失蹤,因爲他有3 <'s and 2 >'s;) – 2010-11-10 15:17:26

+1

由於@dkson說你錯過了'>' – 2010-11-10 15:17:37

回答

13

看起來像一個錯字。我看到三個<但只有兩個>

7

您錯過了>

爲了說明的目的,我已經匹配了< S和>以下S:

_sectionStories = serializer.Deserialize< 
        IDictionary< 
         int, 
         ObservableCollection<Story> 
        > 
        >(new JTokenReader(contents))); 
0

我認爲良好synthaxe是:

JsonSerializer serializer = new JsonSerializer(); 
     _sectionStories = serializer.Deserialize < IDictionary<int, ObservableCollection<Story>>>(new JTokenReader(contents)); 
+2

'()>'不起作用。 – 2010-11-10 15:19:07

相關問題