【发布时间】:2014-01-15 00:23:43
【问题描述】:
有人可以帮我吗?
错误:用户定义的转换必须与封闭类型相互转换:
public static explicit operator E(M value)
{
return value.Value;
}
public static implicit operator M(E value)
{
return new M { Value = value };
}
例子:
基础模型
public abstract class BaseModel<E, M>
where E : class, new()
where M : BaseModel<E, M>, new()
{
public BaseModel()
{
this.Value = new E();
}
public static explicit operator E(M value)
{
return value.Value;
}
public static implicit operator M(E value)
{
return new M { Value = value };
}
public E Value { get; set; }
public override string ToString()
{
return Value.ToString();
}
}
用法:
public class Usuario
{
public int PK_USUARIO { get; set; } //IDENTITY(1,1) NOT NULL,
public bool USUA_NR_ATIVO { get; set; } //bit NOT NULL,
}
型号:
[DisplayName("Status")]
[System.ComponentModel.Editor(typeof(bool), typeof(bool))]
public bool Ativo
{
get { return Value.USUA_NR_ATIVO; }
set { Value.USUA_NR_ATIVO = value; }
}
【问题讨论】: