我有一个继承基类并实现IList的类。我正在序列化此类的对象。但是在json字符串中,我没有获得基类的属性。
我的课看起来像
public class MyCustomList<T> : Paging, IList<T>
{
private IList<T> _internalList = new List<T>();
public int Count => _internalList.Count;
public bool IsReadOnly => _internalList.IsReadOnly;
public IEnumerator<T> GetEnumerator()
{
return _internalList.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return _internalList.GetEnumerator();
}
public void Add(T item)
{
_internalList.Add(item);
}
public void AddRange(MyCustomList<T> items)
{
foreach (T item in items)
{
_internalList.Add(item);
}
}
public void Clear()
{
_internalList.Clear();
}
public bool Contains(T item)
{
return _internalList.Contains(item);
}
public void CopyTo(T[] array, int arrayIndex)
{
_internalList.CopyTo(array, arrayIndex);
}
public bool Remove(T item)
{
return _internalList.Remove(item);
}
public int IndexOf(T item)
{
return _internalList.IndexOf(item);
}
public void Insert(int index, T item)
{
_internalList.Insert(index, item);
}
public void RemoveAt(int index)
{
_internalList.RemoveAt(index);
}
public T this[int index]
{
get => _internalList[index];
set => _internalList[index] = value;
}
}
我的Main函数看起来像
static void Main(string[] args)
{
MyCustomList<string> myList = new MyCustomList<string>();
myList.Add("Sample Text 1");
myList.Add("Sample Text 2");
myList.Add("Sample Text 3");
myList.firstPage = 1;
myList.nextPage = 2;
myList.previousPage = 0;
myList.lastPage = 16;
string jsonStr = JsonConvert.SerializeObject(myList, Formatting.None);
Console.WriteLine(jsonStr);
Console.ReadKey();
}
我的输出看起来像
[“示例文本1”,“示例文本2”,“示例文本3”]
但是在输出基本属性中,例如firstPage,nextPage等...不可见。
我如何也可以序列化这些基本属性?