MalwareSourceCode/MSIL/Virus/Win32/E/Virus.Win32.Expiro.w-69bb73081eac86b8cf86f45e33515d0095855636967076e2b593d7a30cd80a07/Microsoft/InfoCards/DataRowIndexBuffer.cs

46 lines
1.6 KiB
C#
Raw Normal View History

2022-08-18 11:28:56 +00:00
// Decompiled with JetBrains decompiler
// Type: Microsoft.InfoCards.DataRowIndexBuffer
// Assembly: infocard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// MVID: 516D8B44-4448-4D2C-8B8E-FFBB3FFE472B
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Expiro.w-69bb73081eac86b8cf86f45e33515d0095855636967076e2b593d7a30cd80a07.exe
using System.Collections.Generic;
namespace Microsoft.InfoCards
{
internal class DataRowIndexBuffer
{
private Dictionary<string, List<IndexObject>> m_objects;
public DataRowIndexBuffer() => this.m_objects = new Dictionary<string, List<IndexObject>>();
public string[] GetIndexNames() => new List<string>((IEnumerable<string>) this.m_objects.Keys).ToArray();
public List<IndexObject> this[string name]
{
get
{
if (!this.m_objects.ContainsKey(name))
this.m_objects.Add(name, new List<IndexObject>());
return this.m_objects[name];
}
}
public void Clear() => this.m_objects.Clear();
public void ClearIndexValues(string name) => this.m_objects.Remove(name);
public void AddIndexValue(string name, IndexObject obj) => this[name].Add(obj);
public void AddIndexValues(string name, IndexObject[] objs) => this[name].AddRange((IEnumerable<IndexObject>) objs);
public void SetIndexValues(string name, IndexObject[] indexObjects)
{
this[name].Clear();
this[name].AddRange((IEnumerable<IndexObject>) indexObjects);
}
public int GetValueCount(string name) => !this.m_objects.ContainsKey(name) ? 0 : this.m_objects[name].Count;
}
}