如果我有一个类接受来自IUSER派生泛型类型,我怎么能避免此错误消息接口使用泛型“无法隐式转换类型”
不能键入
ElimCMS.Service.Users.someclass<ElimCMS.DataModel.Users.User>
隐式转换为ElimCMS.Service.Users.Isomeclass<ElimCMS.DataModel.Users.IUser>
。一个显式转换存在(是否缺少强制转换?)
例
public interface Isomeclass<TUser>
where TUser : class, IUser
{
string test(TUser user);
TUser returnUser();
}
public class someclass<TUser> : Isomeclass<TUser>
where TUser : class, IUser, new()
{
public string test(TUser user)
{
string email = user.EMail;
user.EMail = "changed:" + email;
return email;
}
public TUser returnUser()
{
throw new NotImplementedException();
}
}
Isomeclass<ElimCMS.DataModel.Users.IUser> servicetest = new someclass<ElimCMS.DataModel.Users.User>();
您正在使用哪种C#版本? – Arcturus 2012-08-03 13:29:20