سوال: override کردن متد در کلاس والد

سلام
من میخواستم یک متد در کلاس والد را 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);
}
}

اما در قسمت کنترلر هر دوتاشو میاره

1.png










عکس های ضمیمه



1.png‏
(4.6 کیلوبایت)







سوال: override کردن متد در کلاس والد


خرید بک لینک
کپی رابت محفوظ است اخبار ایران و جهان
قدرت گرفته از niloblog