转换自IEnumerable
本文关键字:转换 IEnumerable 标签 | 更新日期: 2023-09-27 18:09:12
我试图添加一个隐式转换到我的ViewModel类(VMSalesRep):
public static implicit operator IEnumerable<VMSalesRep> (IEnumerable<QuoteSalesRep> vm)
{
IEnumerable<VMSalesRep> result = vm.Select(x => new VMSalesRep()
{
QuoteSalesRepID = x.QuoteSalesRepID,
FirstName = x.FirstName,
LastName = x.LastName,
CommisionPercentage = x.CommisionPercentage
});
return result;
}
我需要将IEnumerable<QuoteSalesRep>
转换为IEnumerable<VMSalesRep>
。然而,我得到的错误:
用户定义的转换必须与封闭类型
进行转换。
我做错了什么?
您只能在来自或要到的类内部声明隐式转换。因此,您需要将转换放在IEnumerable<T>
的定义中,因为这是您的源和目标类型,
不能从一个IEnumerable隐式转换为另一个IEnumerable
本文关键字:转换 IEnumerable 标签 | 更新日期: 2023-09-27 18:09:12
我试图添加一个隐式转换到我的ViewModel类(VMSalesRep):
public static implicit operator IEnumerable<VMSalesRep> (IEnumerable<QuoteSalesRep> vm)
{
IEnumerable<VMSalesRep> result = vm.Select(x => new VMSalesRep()
{
QuoteSalesRepID = x.QuoteSalesRepID,
FirstName = x.FirstName,
LastName = x.LastName,
CommisionPercentage = x.CommisionPercentage
});
return result;
}
我需要将IEnumerable<QuoteSalesRep>
转换为IEnumerable<VMSalesRep>
。然而,我得到的错误:
用户定义的转换必须与封闭类型
进行转换。
我做错了什么?
您只能在来自或要到的类内部声明隐式转换。因此,您需要将转换放在IEnumerable<T>
的定义中,因为这是您的源和目标类型,
不能从一个IEnumerable隐式转换为另一个IEnumerable