【发布时间】:2018-08-27 07:58:31
【问题描述】:
我有一个界面
public interface IIdentity<T>
{
T GetUser();
}
我有一个将接口实现为抽象方法的基类
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 方法,希望这有意义吗?
【问题讨论】:
-
为什么接口和基类中需要
<T>? -
界面不知道是什么类型的用户?
标签: c# generics interface abstract-class