我有這樣的方法:不同之處僅在傳遞給它們的類我可以將派生類中的這些方法與基類中的方法合併嗎?
public void AddOrUpdate(Product product)
{
try
{
_productRepository.AddOrUpdate(product);
}
catch (Exception ex)
{
_ex.Errors.Add("", "Error when adding product");
throw _ex;
}
}
public void AddOrUpdate(Content content)
{
try
{
_contentRepository.AddOrUpdate(content);
}
catch (Exception ex)
{
_ex.Errors.Add("", "Error when adding content");
throw _ex;
}
}
加上更多的方法。
是否有某種方法可以在基類中編寫這些方法,而不是在每個派生類中重複該方法?我正在考慮基於泛型的東西,但我不知道如何實現,也不知道如何傳入_productRepository。
僅供參考這裏的_productRepository和_contentRepository的定義方式:
private void Initialize(string dataSourceID)
{
_productRepository = StorageHelper.GetTable<Product>(dataSourceID);
_contentRepository = StorageHelper.GetTable<Content>(dataSourceID);
_ex = new ServiceException();
}
框架? – 2011-12-19 06:49:17
不使用實體框架 – 2011-12-19 06:58:11