gpt4 book ai didi

c# - 在 C# 中声明泛型静态方法

转载 作者:行者123 更新时间:2023-12-05 08:13:50 25 4
gpt4 key购买 nike

有什么方法可以在 C# 中声明泛型静态方法吗?
例如:

public static class Class<T,P> 
where T:class
where P:class
{

public static T FromTtoP (this P ob)
{
...
}

}

此代码无效。我想从 DTO 映射到 DAL,反之亦然。

我试过让这个类变得非泛型

public static class Class
{

public static TDTO MapToDTO<TDTO, TDAL>(this TDAL dal)
where TDTO : class
where TDAL : class
{

}
}

我从“this”收到一条错误消息。

最佳答案

泛型类中不能有扩展方法。相反,使方法通用,并使类保持非通用。

例如:

public static class MyExtensions
{
public static T ConvertToT<T, P>(this P ob)
where T : class
where P : class
{
// ...
}
}

当然,这不会很好地工作——没有办法推断方法调用的参数,这使得这种方法毫无用处。

关于c# - 在 C# 中声明泛型静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30571925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com