C# - 传递给内部方法的成员变量?
当类有内部变量时,应该将其传递给内部方法,还是方法应该“知道”它?
例如
int _someid;
private void MyFunction(int ID)
{ use ID ... }
或
private void MyFunction()
{ use _someid ... }
When a class has an internal variable, should it be passed to methods internally, or should the method 'know' about it?
Eg
int _someid;
private void MyFunction(int ID)
{ use ID ... }
or
private void MyFunction()
{ use _someid ... }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不,你应该使用第二个例子。
如果此方法仅使用成员变量,则第二个示例是正确的。
如果您的意图是将此方法与其他传入的值一起使用,例如来自类内的其他方法,或者可能是一些外部调用,那么第一个选项就可以了。
No, you should use the second example.
If this method is meant to only use the member variable, then the second example is correct.
If your intentions are to use this method with other passed in values, from say other methods within the class, or maybe some external calls, then the first option will do.
该方法应该“知道”它。这是首先拥有字段的一个重要部分。
The method should 'know' about it. This is a large part of the point of having fields in the first place.
好吧,我想这取决于情况。您是否想使用除 _someId 以外的任何参数作为参数来调用此方法?如果是这样,请使用第一个示例。如果没有,请使用第二个。
Well, it just depends I guess. Do you ever want to call this method with anything but _someId as the parameter? If so, use the first example. If not, use the second.
成员变量的作用域是类。所以成员函数“知道”它。因此,假设您的成员函数不是静态的,那么您的第二个示例是正确的。
The member variable is scoped to the class. So member functions 'know' about it. So assuming your member function is not static, your second example is correct.