全球成员与传递参数

Lea*_*hen 3 c#

我有一个ASP.NET项目,其中我有一个包含10个局部变量的方法.此方法调用大约10个其他方法.3个被调用的方法需要所有变量.将所有这些变量转换为全局成员是否被视为良好做法,然后它们不必作为参数传递?

Mar*_*ell 8

如果要传递复杂状态,请将其打包在对象中 - 即

public class Foo {
     public string Key {get;set;}
     public decimal Quantity {get;set;}
     // etc
}
Run Code Online (Sandbox Code Playgroud)

并让方法接受此对象作为参数.然后你只需创建一个这样的实例并传递它.

全球是一个很大的禁忌; ASP.NET是高度线程化的 - 这将是一场噩梦.每个请求状态是可能的,但有点凌乱.