2
I имеет статический класс с родовым аргумент, который объявлен как это:Вызов статического метода от общего типа
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
должны быть назван) ?