【发布时间】:2015-11-03 04:59:25
【问题描述】:
我正在阅读一些 C# 教程,突然想到我从未尝试在创建方法时使用对象类作为参数。
例如,我从来没有想过这个:
static void GiveBookAName(Gradebook book, string bookName)
{
book.Name = bookName;
}
我确信我会做这样的事情:
public void GiveBookAName(string bookName)
{
Name = bookName;
}
//in other class
Gradebook book = new Gradebook()
book.GiveBookAName("TheGradebook");
因此,我倾向于在这里和那里进行类实例化。我的意思是,如果我需要访问 A 类和 B 类中的 X 类,那么我将在 A 类和 B 类中实例化 X 类。现在我意识到,如果我开始将对象类作为参数传递,我可以将所有实例化一个地方(通常是Main()的班级)。有必要吗?
【问题讨论】:
-
说什么?在您的第一个示例中,传递
book是有意义的,否则该方法无法采取行动。但是,在您的第二个示例中,Book显然是该方法所在类的成员,因此无需传递对象-该方法可以直接访问它。这两种情况非常不同。如果你发现自己一直在传递对象,那么你的类设计可能很糟糕。
标签: c# class parameter-passing