if( this.propertyGrid1.SelectedObject is DataServerEntity ) //服务器
this.TstringHasChanged = !DataServerBLL.Singleton.Update( this.propertyGrid1.SelectedObject as DataServerEntity );
else if( this.propertyGrid1.SelectedObject is DataBaseEntity ) //数据库
this.TstringHasChanged = !DataBaseBLL.Singleton.Update( this.propertyGrid1.SelectedObject as DataBaseEntity );
else if( this.propertyGrid1.SelectedObject is DataTableEntity ) //表
this.TstringHasChanged = !DataTableBLL.Singleton.Update( this.propertyGrid1.SelectedObject as DataTableEntity );
else if( this.propertyGrid1.SelectedObject is DataFieldEntity ) //字段
this.TstringHasChanged = !DataFieldBLL.Singleton.Update( this.propertyGrid1.SelectedObject as DataFieldEntity );
else if( this.propertyGrid1.SelectedObject is TemplateEntity ) //模板
this.TstringHasChanged = !TemplateBLL.Singleton.Update( this.propertyGrid1.SelectedObject as TemplateEntity );
else if( this.propertyGrid1.SelectedObject is SolutionEntity ) //解决方案
this.TstringHasChanged = !SolutionBLL.Singleton.Update( this.propertyGrid1.SelectedObject as SolutionEntity );
else if( this.propertyGrid1.SelectedObject is ProjEntity ) //项目
this.TstringHasChanged = !ProjBLL.Singleton.Update( this.propertyGrid1.SelectedObject as ProjEntity );
else
MessageBox.Show( "保存失败!" );请注意
执行Update方法的子类不一样,参数也不一样
this.TstringHasChanged = !DataServerBLL.Singleton.Update( this.propertyGrid1.SelectedObject as DataServerEntity );
else if( this.propertyGrid1.SelectedObject is DataBaseEntity ) //数据库
this.TstringHasChanged = !DataBaseBLL.Singleton.Update( this.propertyGrid1.SelectedObject as DataBaseEntity );
else if( this.propertyGrid1.SelectedObject is DataTableEntity ) //表
this.TstringHasChanged = !DataTableBLL.Singleton.Update( this.propertyGrid1.SelectedObject as DataTableEntity );
else if( this.propertyGrid1.SelectedObject is DataFieldEntity ) //字段
this.TstringHasChanged = !DataFieldBLL.Singleton.Update( this.propertyGrid1.SelectedObject as DataFieldEntity );
else if( this.propertyGrid1.SelectedObject is TemplateEntity ) //模板
this.TstringHasChanged = !TemplateBLL.Singleton.Update( this.propertyGrid1.SelectedObject as TemplateEntity );
else if( this.propertyGrid1.SelectedObject is SolutionEntity ) //解决方案
this.TstringHasChanged = !SolutionBLL.Singleton.Update( this.propertyGrid1.SelectedObject as SolutionEntity );
else if( this.propertyGrid1.SelectedObject is ProjEntity ) //项目
this.TstringHasChanged = !ProjBLL.Singleton.Update( this.propertyGrid1.SelectedObject as ProjEntity );
else
MessageBox.Show( "保存失败!" );请注意
执行Update方法的子类不一样,参数也不一样
上述各类均实现这个接口的Update方法,在方法内将objEntity转换为需要的具体Entity类型;如:
class DataServerBLL:IObjectBLL
{
bool Update(IObjectEntity objEntity)
{
DataServerEntity dataServerEntity = objEntity as DataServerEntity;
//更新方法具体操作
}
}DataServerEntity 、DataBaseEntity、DataTableEntity、DataFieldEntity、TemplateEntity、SolutionEntity、ProjEntity--->同样抽象出基类或者接口,如IObjectEntity//前面的if和else if语句块改为:
this.TstringHasChanged = !IObjectBLL.Singleton.Update(this.propertyGrid1.SelectedObject as IObjectEntity);