我正在开发一个C#
应用程序,该应用程序将数据以key-value
对的形式存储在sqlite中。我已经实现了KeyValue
作为(键,值)对的持有者类,并且实现了ReadTransaction
作为只读事务类:
public class ReadTransaction
{
Task<T> GetValue<T>(string key);
}
public class KeyValue<TValue>
{
public KeyValue(string key)
{
Key = key;
}
public KeyValue(string key, TValue value)
{
Key = key;
Value = value;
}
public string Key { get; }
public TValue Value { get; set; }
}
我想在ReadTransaction
类中使用另一个方法,该方法采用IEnumerable键,并返回IEnumerable<something>
,其中包含包含键的键的数据。
我不能这样做:
Task<IEnumerable<KeyValue<T>>> GetValues<T>(IEnumerable<string> keys);
因为这些键上的值可以是不同的类型。
如何编写/实现此功能?
答案 0 :(得分:1)
我不鼓励您将不同类型的元素存储在同一集合中。
如果需要,可以使用Dictionary<string,object>
中的'object'。