34 lines
896 B
C#
34 lines
896 B
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace NBF.Setting
|
|
{
|
|
public class OptionTable<T>
|
|
{
|
|
public struct OptionEntry
|
|
{
|
|
public string Name;
|
|
public T Value;
|
|
|
|
public OptionEntry(string name, T value)
|
|
{
|
|
this.Name = name;
|
|
this.Value = value;
|
|
}
|
|
}
|
|
|
|
List<OptionEntry> entries = new List<OptionEntry>();
|
|
|
|
public void Add(string name, T value)
|
|
{
|
|
entries.Add(new OptionEntry(name, value));
|
|
}
|
|
|
|
public List<string> GetNames() => entries.Select(x => x.Name).ToList();
|
|
public List<T> GetValues() => entries.Select(x => x.Value).ToList();
|
|
|
|
public T GetValue(int index) => entries[index].Value;
|
|
|
|
public string GetName(int index) => entries != null ? entries[index].Name : string.Empty;
|
|
}
|
|
} |