2010-11-10 64 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

相关问题