基类:
public virtual Collection<string> GetPaymentMethods(Organization organization)
{
IPaymentService paymentService = ServiceLocator.GetPaymentService();
Collection<PaymentMethod> paymentMethods = paymentService.GetPaymentMethods(organization.CountryCode, organization.LanguageCode, organization.UserType, AppAvailableType.AutoRenewal);
return paymentMethods.Select(p => p.PaymentMethodType).ToCollection<string>();
}
控制装置:
public override Collection<string> GetPaymentMethods(Organization organization)
{
Collection<PaymentMethod> paymentMethods = this.PaymentService.GetPaymentMethods(organization.CountryCode, organization.DisplayLanguageCode, organization.UserType, AppAvailableType.AutoRenewal);
return paymentMethods.Select(p => p.PaymentMethodType).**ToCollection**<string>();
}
在上面的方法中,“。TooCollection”与基类不同。获取以下错误:
'System.Collections.Generic.IEnumerable'不包含 'ToCollection'的定义,没有扩展方法'ToCollection' 接受第一个类型的参数 可以找到'System.Collections.Generic.IEnumerable'(是 你错过了使用指令或程序集引用?)
答案 0 :(得分:1)
转到基类,将光标放在ToCollection
方法调用上。按F12(转到定义)。 VS会告诉你方法的来源。
答案 1 :(得分:1)
IEnumerable并不包含任何ToCollection方法。在您的基类中使用扩展方法转换为集合。看看&#34;使用&#34;在您的基类中注册,以找到您应该在派生类中编写的必要命名空间。