我有两个班,A班和B班。 类A有一个方法,它创建一个B类实例并使用该实例调用一个公共方法。
B obj = new B();
obj.DoSomething();
现在,B类的DoSomething()方法有一个循环。
public void DoSomething()
{
for(int i=1;i<=10;i++)
{
//Do some task
//call a method of class A for this iteration
}
}
最好的方法是什么? 如果我在DoSomething()方法中创建一个A类实例,然后调用类A的方法,它会导致循环引用吗?这是正确的方法吗?
答案 0 :(得分:1)
问题在于,不清楚A
是B
的依赖关系还是B
是A
的依赖关系。首先,我认为你必须定义这个方面。考虑到这一点,您的课程设计将更自然,更流畅。
因此,例如,如果您需要使用DoSomething()
实例B
A
A
,则可以在B
类中添加public class B
{
private A _aInstance;
public B(A aInstance)
{
this._aInstance = aInstance;
}
public void DoSomething()
{
for(int i=1;i<=10;i++)
{
//Do some task
_aInstance.DoSomethingOther();
}
}
}
成员:
{{1}}
答案 1 :(得分:0)
根据您的程序逻辑,您可以使用this
关键字将引用传递给A类的当前实例。
或者更改程序逻辑,使循环在A类中。然后循环将调用B类中的方法;之后,类A中的调用方法调用适当的迭代方法。