parsdarab
پنج شنبه 28 مرداد 1395, 20:16 عصر
سلام
من میخواستم یک متد در کلاس والد را override کنم چون عملیاتی که در کلاس پایه اتفاق میافته مد نظر نمی باشد و احتیاج به عملیات اضافه تری هست به همین خاطر تصمیم گرفتم که متد کلاس پایه رو در کلاس والد override کنم
کلاس پایه این طوری تعریف شده است
public class BaseServiceGeneric<TEntity> : IBaseServiceGeneric<TEntity>
where TEntity : class
{
public IUnitOfWork _uow;
public IDbSet<TEntity> _BaseModel;
public BaseServiceGeneric(IUnitOfWork uow)
{
_uow = uow;
_BaseModel = _uow.Set<TEntity>();
}
public virtual void Base_AddOrUpdate(TEntity entity)
{
_BaseModel.AddOrUpdate(entity);
}
}
متدی که میخاد override بشه Base_AddOrUpdate هست.
اینم کلاس والد هست
public class BaseServiceSetting : BaseServiceGeneric<BaseSetting>, IBaseServiceSetting
{
//IUnitOfWork _uow;
readonly IDbSet<BaseSetting> _model;
#region کانستراکتور
public BaseServiceSetting(IUnitOfWork uow)
: base(uow)
{
_uow = uow;
_model = _uow.Set<BaseSetting>();
}
#endregion
public void Base_AddOrUpdate(BaseSetting model, object modelConvert)
{
model.CreateXML(modelConvert);
base.Base_AddOrUpdate(model);
}
}
اما در قسمت کنترلر هر دوتاشو میاره
142041
من میخواستم یک متد در کلاس والد را override کنم چون عملیاتی که در کلاس پایه اتفاق میافته مد نظر نمی باشد و احتیاج به عملیات اضافه تری هست به همین خاطر تصمیم گرفتم که متد کلاس پایه رو در کلاس والد override کنم
کلاس پایه این طوری تعریف شده است
public class BaseServiceGeneric<TEntity> : IBaseServiceGeneric<TEntity>
where TEntity : class
{
public IUnitOfWork _uow;
public IDbSet<TEntity> _BaseModel;
public BaseServiceGeneric(IUnitOfWork uow)
{
_uow = uow;
_BaseModel = _uow.Set<TEntity>();
}
public virtual void Base_AddOrUpdate(TEntity entity)
{
_BaseModel.AddOrUpdate(entity);
}
}
متدی که میخاد override بشه Base_AddOrUpdate هست.
اینم کلاس والد هست
public class BaseServiceSetting : BaseServiceGeneric<BaseSetting>, IBaseServiceSetting
{
//IUnitOfWork _uow;
readonly IDbSet<BaseSetting> _model;
#region کانستراکتور
public BaseServiceSetting(IUnitOfWork uow)
: base(uow)
{
_uow = uow;
_model = _uow.Set<BaseSetting>();
}
#endregion
public void Base_AddOrUpdate(BaseSetting model, object modelConvert)
{
model.CreateXML(modelConvert);
base.Base_AddOrUpdate(model);
}
}
اما در قسمت کنترلر هر دوتاشو میاره
142041