我有几个类都有非常相似的代码,我想知道合并通用代码是否有意义,以及如何去做。每个类都有一个特定的 Model 属性和一个特定的 Service 属性,但除此之外它们几乎相同。
这是我正在使用的代码示例:
public class Example1 {
public Object1 Model { get; set; }
private Service1 Service {get;set;}
protected bool Create()
{
try
{
Model = Service.Create(Model);
return true;
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
}
}
所以说我有 4 个类,它们都具有相同的Create()方法语法,但是属性对象类型都不同。有没有一种方法可以将其转换为 4 个类,每个类都定义了其属性,然后Create()在一个基类中包含该方法?
我希望它看起来像下面这样:
public class Example1 : Base {
public Object1 Model { get; set; }
private Service1 Service { get; set; }
}
public class Example2 : Base {
public Object2 Model { get; set; }
private Service2 Service { get; set; }
}
public class Example3 : Base {
public Object3 Model { get; set; }
private Service3 Service { get; set; }
}
public class Example4 : Base {
public Object4 Model { get; set; }
private Service4 Service { get; set; }
}
public class Base {
// Wondering if this would do the trick; could be confusing though
// public object Model { get; set; }
// private object Service { get; set; }
//
protected bool Create()
{
try
{
Model = Service.Create(Model);
return true;
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
}
}
但是我对如何在基类中提供属性感到困惑。
谢谢你的帮助。如果这是不可能的,那很好,我只是想让我的代码库不那么臃肿。
编辑:
我认为可能可行的一件事是在 Base 类中将 Model 和 Service 定义为 Object,但后来我担心根据调用属性的位置会出现混淆。
莫回无
aluckdog
心有法竹
相关分类