代码之家  ›  专栏  ›  技术社区  ›  Amy

DLR:IAttributesCollection已弃用?

  •  1
  • Amy  · 技术社区  · 14 年前

    在我的代码中,我一直在生成如下函数:

    public void Foo([ParamsDictionary] IAttributesCollection kwargs) {}
    

    但我很好奇。什么都实现了这个接口?所以我取下了Ironpython的源代码。在里面我找到了这个文件:

    Src\Runtime\Microsoft.Scripting\Runtime\ParamDictionaryAttribute.cs
    

    在第24-30行,它有:

    /// Most languages which support params dictionaries will support the following types:
    ///     IDictionary<string, anything>
    ///     IDictionary<object, anything>
    ///     Dictionary<string, anything>
    ///     Dictionary<object, anything>
    ///     IDictionary
    ///     IAttributesCollection (deprecated)
    

    注意弃用的行。我是否应该不使用上面的方法签名,而是使用IDictionary<string,object>?声明方法的首选方法是什么?

    (是否可以在代码部分加粗文本?)

    1 回复  |  直到 14 年前
        1
  •  2
  •   Dino Viehland    14 年前