我使用實體框架來產生如下一個「CClass」實體:其基類無法修改的類的基類方法?
public partial class CClass: EntityObject
{
#region Factory Method
#region Primitive Properties
}
我的部分類實現的其餘部分是
public partial class CClass : IDemoralize
{
public Value xValue { get; set; }
public void IDemoralize.Demoralize()
{
// implementation
}
public void IDemoralize.Demoralize(Func<IDemoralize, bool> CustomDemoralization)
{
bool success = CustomDemoralization(this);
if (!success)
throw new ApplicationException();
}
public void IDemoralize.WriteModel()
{
// implementation
}
public void IDemoralize.WriteModel(Func<IDemoralize, bool> Write)
{
bool success = Write(this);
if (!success)
throw new ApplicationException();
}
}
現在因爲低於此列出兩種方法確實有共同實施在整個設計中,我想將它們移到名爲DemoralizeBase的基類中,所以如果代碼需要更改,則一致性將變得易於管理。
// in DemoralizeBase
public void Demoralize(Func<IDemoralize, bool> CustomDemoralization)
{
//implementation
}
public void WriteModel(Func<IDemoralize, bool> Write)
{
// implementation
}
有沒有辦法做到這一點,或者我應該去現有的設計?
你可以解決它與一個2級繼承 – 2012-07-26 07:12:01
DemoralizeBase可以從EntityObject繼承。 CClass繼承自DemoralizeBase。 – James 2012-07-26 07:12:13