相关疑难解决方法(0)

如何在C#中覆盖List <T>的Add方法?

我目前正在寻找自己的集合,这就像一个常规列表,除了它只能容纳10个项目.如果在列表中已有10个项目时添加了项目,则在添加新项目之前将删除第一个项目.

我想要做的是创建一个扩展的类,System.Collections.Generic.List<T>然后修改Add(T item)方法以包含在必要时删除第一个项目的功能.

c# generics collections inheritance

34
推荐指数
6
解决办法
7万
查看次数

如何使用Json.Net序列化/反序列化具有其他属性的自定义集合

我有一个自定义集合(实现IList),它有一些自定义属性,如下所示:

class FooCollection : IList<Foo> {

    private List<Foo> _foos = new List<Foo>();
    public string Bar { get; set; }        

    //Implement IList, ICollection and IEnumerable members...

}
Run Code Online (Sandbox Code Playgroud)

当我序列化时,我使用以下代码:

JsonSerializerSettings jss = new JsonSerializerSettings() {
    TypeNameHandling = TypeNameHandling.Auto
};
string serializedCollection = JsonConvert.SerializeObject( value , jss );
Run Code Online (Sandbox Code Playgroud)

它正确地序列化和反序列化所有收集项目; 但是,FooCollection不考虑课堂上的任何额外属性.

无论如何将它们包含在序列化中?

.net c# serialization json json.net

21
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×2

.net ×1

collections ×1

generics ×1

inheritance ×1

json ×1

json.net ×1

serialization ×1