我无法实现此功能,因为它是从C#.NET Core 2.0.1中的通用方法派生的,如下所示:
接口
public interface IListable
{
List<T> AsList<T>();
}
实施
public class PwActivityTypeCollection : IListable
{
public List<PwActivityType> user;
public List<PwActivityType> system;
public List<PwActivityType> AsList<PwActivityType>()
{
return user.Concat (system).ToList();
}
}
请注意,在尝试实现该接口之前,此方法可以按以下方式正常工作。 Concat
代码按预期返回List<PwActivityType>
:
public List<PwActivityType> AsList()
{
return user.Concat(system).ToList();
}
错误:
PwActivityType.cs(16,14):错误CS0029:无法将类型'System.Collections.Generic.List
'隐式转换为'System.Collections.Generic.List '[/ Users / shanekenyon / Documents / git / gls_int_prosperworks / library / library.csproj]
答案 0 :(得分:5)
我认为您真正想要的是使接口通用而不是方法,例如:
public interface IListable<T>
{
List<T> AsList();
}
这会使您的班级像这样:
public class PwActivityTypeCollection : IListable<PwActivityType>
{
public List<PwActivityType> user;
public List<PwActivityType> system;
public List<PwActivityType> AsList()
{
return user.Concat(system).ToList();
}
}