C# 将主方法分解为方法调用
目前我的主要方法如下所示:C# 将主方法分解为方法调用,c#,.net,C#,.net,目前我的主要方法如下所示: static void main(string[] args) { Object o = new Object("object 1"); Object o1 = new Object("object 2"); Object o2 = new Object("object 3"); List<Object> objects = new List<Objects>(); objects.add(o); objects.add(o1); obje
static void main(string[] args)
{
Object o = new Object("object 1");
Object o1 = new Object("object 2");
Object o2 = new Object("object 3");
List<Object> objects = new List<Objects>();
objects.add(o);
objects.add(o1);
objects.add(o2);
}
static void main(字符串[]args)
{
对象o=新对象(“对象1”);
对象o1=新对象(“对象2”);
对象o2=新对象(“对象3”);
列表对象=新列表();
添加(o);
对象。添加(o1);
添加(o2);
}
我希望通过将主方法分解为方法调用来清理代码。但是,这会导致可访问性问题,即由于方法分离,对象无法找到对象
class Program
{
static void main(string[] args)
{
createObjects();
objectHolder();
addObjects();
}
public void createObjects()
{
Object o = new Object("object 1");
Object o1 = new Object("object 2");
Object o2 = new Object("object 3");
}
public void ObjectHolder
{
List<Object> objects = new List<Objects>();
}
public void addObjects()
{
objects.add(o);
objects.add(o1);
objects.add(o2);
}
}
类程序
{
静态void main(字符串[]参数)
{
createObjects();
objectHolder();
addObjects();
}
public void createObjects()
{
对象o=新对象(“对象1”);
对象o1=新对象(“对象2”);
对象o2=新对象(“对象3”);
}
公共无效异议持有人
{
列表对象=新列表();
}
public void addObjects()
{
添加(o);
对象。添加(o1);
添加(o2);
}
}
您可以做很多不同的事情来改进此代码,但就您最初的问题而言,一个好的第一步是将您的业务逻辑隔离到一个单独的类中,然后实例化:
class Program
{
static void main(string[] args)
{
ObjectManager objects = new ObjectManager();
objects.AddObject(objects.CreateObject("object 1"));
objects.AddObject(objects.CreateObject("object 2"));
objects.AddObject(objects.CreateObject("object 3"));
}
}
class ObjectManager
{
public List<Object> Objects { get; set; }
public ObjectManager()
{
Objects = new List<Object>();
}
public Object CreateObject(string name)
{
Object o = new Object(name);
return o;
}
public void AddObject(Object o)
{
Objects.Add(o);
}
}
类程序
{
静态void main(字符串[]参数)
{
ObjectManager对象=新建ObjectManager();
objects.AddObject(objects.CreateObject(“对象1”));
objects.AddObject(objects.CreateObject(“对象2”));
objects.AddObject(objects.CreateObject(“object3”));
}
}
类对象管理器
{
公共列表对象{get;set;}
公共对象管理器()
{
对象=新列表();
}
公共对象CreateObject(字符串名称)
{
对象o=新对象(名称);
返回o;
}
公共void AddObject(对象o)
{
添加(o);
}
}
在此代码中,ObjectManager包含所有业务逻辑。您实例化它,并在其构造函数中初始化列表,以便以后不会得到空引用。然后可以使用该ObjectManager上的方法添加列表中所需的每个对象。您知道方法参数吗?只需使用默认集合初始值设定项。实例化列表并一次性添加所有对象。再干净不过了