gpt4 book ai didi

c# - 使用泛型类型 BaseUser 时出错需要 1 个参数

转载 作者:行者123 更新时间:2023-11-30 20:26:55 25 4
gpt4 key购买 nike

我有一个界面

public interface  IIdentity<T>
{
T GetUser();
}

我有一个将接口(interface)实现为抽象方法的基类

public abstract class BaseUser<T> : IIdentity<T>
{
public string UserId { get; set; }
public string AuthType { get; set; }
public List<Claim> Claims { get; set; }
public abstract T GetUser();
}

在继承基类的类中

 public class JwtUser : BaseUser
{
public string Sub { get; set; }
}

我在使用通用类型 BaseUser 时遇到错误,需要 1 个参数,我在这里做什么,基本上我希望我的用户从基类继承共享属性(我认为)并实现通用方法从基类开始,因为我将拥有不同类型的用户(JWT/Windows 等),我需要抽象出 getUsers 方法,希望这有意义吗?

最佳答案

你必须有多种方法来实现它,两者都需要在 BaseUser 中设置泛型。

您可以公开该泛型:

public class JwtUser<T> : BaseUser<T>
{
public string Sub { get; set; }
}

或者,只需设置泛型:

public class JwtUser : BaseUser<JwtUser>
{
public string Sub { get; set; }
}

关于c# - 使用泛型类型 BaseUser 时出错需要 1 个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49351432/

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