我有这种财产,正在做罚款:
public IEnumerable<IGrouping<MessageType, Message>> MessageGroups
{
get
{
return
(from msg in _messages
orderby msg.Type descending
group msg by msg.Type);
}
}
然而,这促使我不得不在我的法典中的若干地方重复“看望”的代码:可计数的编码;IGrouping<MessageType, Message;>。 我试图通过界定三维包装接口,使眼中更容易做到:
public interface IMessageGroups :
IEnumerable<IGrouping<MessageType, Message>> { }
将上述财产改为:
public IMessageGroups MessageGroups
{
get
{
return
(IMessageGroups)
(from msg in _messages
orderby msg.Type descending
group msg by msg.Type);
}
}
这提高了罚款,但从现在起,我得到:
Unable to cast object of type System.Linq.GroupedEnumerable`3[Message,MessageType,Message] to type IMessageGroups .
我可以做些什么来解决这个问题?