我想创建一个扩展方法,允许我调用ToSerializableDictionary(p => p.ID)
而不是.ToDictionary(p => p.ID)
在以下 LINQ 上下文中调用。虽然我不确定我应该为哪个类创建一个扩展方法来替换ToDictionary<T>
.
response.attributes = (
from granuleGroup in groups
let granuleRow = granuleGroup.First().First()
select new USDAttributes()
{
id = (int)granuleRow["id"],
...
attributes =
(
...
).ToDictionary(p => p.ID) <--** LINE IN QUESTION **
}
).ToList();
我从这里获取的SerializableDictionary 类是为了让我可以在我的 web 服务中序列化字典对象以返回与 JSON 配合得很好的哈希表。
最初我为 IDictionary 创建了一个扩展方法,所以我可以做这样的事情:...).ToDictionary(p => p.ID).ToSerializableDictionary();
但这完全失败了,因为这是我第一次创建扩展方法,我不知道我在做什么。
public static class CollectionExtensions
{
public static SerializableDictionary<string, object> ToSerializableDictionary(this IDictionary<string,object> sequence)
{
SerializableDictionary<string, object> sDic = new SerializableDictionary<string, object>();
foreach (var item in sequence)
{
}
return sDic;
}
}