gpt4 book ai didi

c# - 从泛型类型调用静态方法

转载 作者:太空宇宙 更新时间:2023-11-03 13:12:28 35 4
gpt4 key购买 nike

我有一个带有泛型参数的静态类,声明如下:

public static partial class CMSLib<TUser> where TUser : CMSLib<TUser>.UserBase
{
public abstract class UserBase : OrmObject<TUser>
{
public UInt32 Id { get; set; }
public string Login { get; set; }
/* etc. */
}
}

OrmObject 声明如下:

public abstract class OrmObject<T> where T: class
{
static OrmObject()
{
using (var db = Db.Open())
db.CreateTable<T>();
}

public static T Single(Expression<Func<T, bool>> where) { ... }
}

当我尝试从通用参数调用方法 Single 时:

public static partial class CMSLib<TUser> where TUser : CMSLib<TUser>.UserBase
{
public static TUser SomeFunction()
{
var user = TUser.Single(...); // Here error
...
}
}

我得到错误“TUser”是一个“类型参数”,它在给定的上下文中无效

在这种情况下,我如何调用TUser.Single 方法(必须调用OrmObject 中的静态构造函数)?

最佳答案

只需调用 OrmObject<TUser>.Single()而不是 TUser.Single() .

关于c# - 从泛型类型调用静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27888929/

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