有没有办法在C#中声明一个通用的静态方法?
例如:
public static class Class<T,P>
where T:class
where P:class
{
public static T FromTtoP (this P ob)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码不起作用.我想从DTO映射到DAL,反之亦然.
我试过让这个类非泛型
public static class Class
{
public static TDTO MapToDTO<TDTO, TDAL>(this TDAL dal)
where TDTO : class
where TDAL : class
{
}
}
Run Code Online (Sandbox Code Playgroud)
我从"this"收到错误消息.
您不能在泛型类中使用扩展方法.相反,使方法通用,并保持类非泛型.
例如:
public static class MyExtensions
{
public static T ConvertToT<T, P>(this P ob)
where T : class
where P : class
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
当然,这不会真正起作用 - 没有办法推断方法调用的参数,这使得这种方法毫无用处.
| 归档时间: |
|
| 查看次数: |
8505 次 |
| 最近记录: |