gpt4 book ai didi

c# - 无法将类型 System.LinQ.IOrderedEnumerable 隐式转换为 MyClassCollection。存在隐式转换(您是否缺少强制转换?)

转载 作者:行者123 更新时间:2023-12-02 17:49:22 28 4
gpt4 key购买 nike

我的项目中有以下类(class)。

[Serializable]
public class BaseEntityCollection<T> : List<T> where T : BaseEntity, new()
{

protected BaseEntityCollection()
{
}

}

[Serializable]
public abstract class BaseEntity
{
protected BaseEntity()
{
}
}


public class MyClassCollection : BaseEntityCollection<MyClass>
{
}

问题领域

MyClassCollection objList = 
MyClassName.MyFunctionName().OrderByDescending(i => i.MyPropertyName);

这一行给出了编译错误。

Cannot implicitly convert type System.LinQ.IOrderedEnumerable<MyClass>
to MyClassCollection. An implicit conversion exists(are you missing a
cast?)

编辑

我没有更改架构设计的特权。

最佳答案

目前还不清楚为什么您会期望它起作用,但您可以使用:

MyClassCollection objList = new MyClassCollection();
objList.AddRange(MyClassName.MyFunctionName()
.OrderByDescending(i => i.MyPropertyName));

我个人不喜欢从 List<T> 派生新的集合首先,还从泛型类派生非泛型类只是来固定类型参数,但如果这是你必须忍受的架构......

关于c# - 无法将类型 System.LinQ.IOrderedEnumerable 隐式转换为 MyClassCollection。存在隐式转换(您是否缺少强制转换?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10282406/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com