代码之家  ›  专栏  ›  技术社区  ›  Nick Heiner

C泛型:“x”是“类型”,但用作“变量”

  •  0
  • Nick Heiner  · 技术社区  · 14 年前

    出于某种原因,此代码无法编译:

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

    错误:

    错误91“System.Collections.Generic.IDictionary>” 是“类型”,但用作 '变量'

    我在这里做错什么了?我觉得我错过了一些基本的东西。

    3 回复  |  直到 12 年前
        1
  •  13
  •   sloth JohnnBlade    12 年前

    看起来像个打字错误。我看到三 < 但只有两个 > .

        2
  •  7
  •   Jeff Yates    14 年前

    > .

    为了便于说明,我将 < S和 > 以下:

    _sectionStories = serializer.Deserialize<
                         IDictionary<
                            int,
                            ObservableCollection<Story>
                         >
                      >(new JTokenReader(contents)));
    
        3
  •  0
  •   Sebastien Robert    14 年前

    我认为最好的合成器是:

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