【发布时间】:2020-03-22 01:51:02
【问题描述】:
我有一个方法 (GetUser()),方法返回类型是一个接口 (IUser),我有一个类 (User),包含与 IUser 相同的字段。我想将 GetUser 方法结果绑定到 User 对象。 我正在使用 c#。
方法:
IEnumerable<IUser> GetUser();
界面:
public interface IUser {
public string Id{ get; set;}
public string Name{ get; set;}
public string Username{ get; set;}
public IAddress Address{ get; set;}
//And more fields
}
类:
public class User {
public string Id{ get; set;}
public string Name{ get; set;}
public string Username{ get; set;}
public Address Address{ get; set;}
//And more fields
}
我尝试了以下几种情况,但都不行。
IEnumerable<User> user = AnyLibrary.GetUser() as IEnumerable<User>;
IEnumerable<User> user = (IEnumerable<User>) AnyLibrary.GetUser();
有可能吗?我该怎么做?
【问题讨论】:
-
你的用户类应该继承自 IUser -
public class User : IUser -
从
IUser继承User,这不是golang,它必须是显式的。 -
还要注意
Address也需要继承IAddress等 -
@AndrewSavinykh Go 有隐式继承?有趣
-
不是隐式继承,叫结构类型化。