我无法实现此功能,因为它是从C#.NET Core 2.0.1中的通用方法派生的,如下所示:
接口
public interface IListable
{
List<T> AsList<T>();
}
Run Code Online (Sandbox Code Playgroud)
履行
public class PwActivityTypeCollection : IListable
{
public List<PwActivityType> user;
public List<PwActivityType> system;
public List<PwActivityType> AsList<PwActivityType>()
{
return user.Concat (system).ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,在我尝试实现接口之前,这样可以正常工作.该Concat
代码返回List<PwActivityType>
预期:
public List<PwActivityType> AsList()
{
return user.Concat(system).ToList();
}
Run Code Online (Sandbox Code Playgroud)
错误:
PwActivityType.cs(16,14):错误CS0029:无法将类型'System.Collections.Generic.List <Library.PwActivityType>'隐式转换为'System.Collections.Generic.List <PwActivityType>'[/ Users/shanekenyon/Documents /git/gls_int_prosperworks/library/library.csproj]
我认为你真正想要的是使你的界面通用而不是方法,例如:
public interface IListable<T>
{
List<T> AsList();
}
Run Code Online (Sandbox Code Playgroud)
这让你的课堂成为这样的:
public class PwActivityTypeCollection : IListable<PwActivityType>
{
public List<PwActivityType> user;
public List<PwActivityType> system;
public List<PwActivityType> AsList()
{
return user.Concat(system).ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
53 次 |
最近记录: |