C# - 传递给内部方法的成员变量?

发布于 2024-10-05 18:05:10 字数 237 浏览 2 评论 0原文

当类有内部变量时,应该将其传递给内部方法,还是方法应该“知道”它?

例如

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

岛歌少女 2024-10-12 18:05:10

不,你应该使用第二个例子。

如果此方法仅使用成员变量,则第二个示例是正确的。

如果您的意图是将此方法与其他传入的值一起使用,例如来自类内的其他方法,或者可能是一些外部调用,那么第一个选项就可以了。

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.

司马昭之心 2024-10-12 18:05:10

该方法应该“知道”它。这是首先拥有字段的一个重要部分。

The method should 'know' about it. This is a large part of the point of having fields in the first place.

标点 2024-10-12 18:05:10

好吧,我想这取决于情况。您是否想使用除 _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.

好菇凉咱不稀罕他 2024-10-12 18:05:10

成员变量的作用域是类。所以成员函数“知道”它。因此,假设您的成员函数不是静态的,那么您的第二个示例是正确的。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文