Tag: global

如何声明变量以供全局使用

我搜索了类似问题的论坛,据我所知,要避免全局变量。 对我来说这不合逻辑,因为我是编程新手。 如果我已经正确地理解了这一切,那么静态变量应该可以完成我正在寻找的工作。 我在主窗口中创建了四个选项的combobox,当选择combobox时,声明变量b。 这是在private void SelectionChanged. 当选择combobox声明变量b时,弹出用户控件。 我想在我的程序中进一步使用变量b,但我无法访问它。 我试图声明static int b; 在代码的开头,但我不确定我是否理解正确使用静态变量。 有人可以帮帮我吗?

Global.asax中的ASP.NET C#Application_Error无法访问Session变量

我有我的error handling设置来跟踪所有exception,并将我们需要的信息写入数据库,并通过电子邮件发送出需要了解错误的开发人员以便修复它。 我遇到的问题是在页面完全加载之前发生错误。 在这种情况下,我要跟踪的会话变量在Application_Error中不可用。 因此,我执行以下操作以便在error handling中不会出现错误,但必须有更好的方法。 此外,如果页面加载并且在提交表单时发生错误,则会话变量可用。 try { user_name = System.Web.HttpContext.Current.Session[“User_Name”].ToString(); user_number = System.Convert.ToInt32(System.Web.HttpContext.Current.Session[“User_Number”].ToString()); } catch (Exception ex) { user_number = 0; user_name = “N/A”; } 任何帮助是极大的赞赏。 谢谢!

需要有关OOP理念的建议

我正试图在C#中开启一个大型项目。 我之前的经验是在Delphi中,默认情况下,每个表单都是在应用程序启动时创建的,并且表示在(gasp)全局变量中保存的引用。 因此,我正在努力使我的思维适应100%面向对象的环境,而我的头脑正在旋转一点点。 我的应用程序将有大量的类集合这些类中的大多数只需要一个实例。 所以我在想:静态类。 我不太确定为什么,但我在这里读到的大部分内容都表明,如果我的class级要持有一个状态,我将其视为任何属性值,我应该使用单例结构。 好的。 但是有些人因为逃避我的理由而认为单身人士也是邪恶的。 除了这个程序之外,这些类都没有被用在任何地方的危险。 所以它们当然可以作为常规对象(与单例或静态类)一起工作 然后是对象之间的交互问题。 我很想创建一个充满公共静态属性的Global类,引用许多这些类的单个实例。 我还考虑过制作MainForm的属性(静态或实例,不确定哪个)。 然后我会让每个class级都知道MainForm作为所有者。 然后各种对象可以作为所有者互相引用。 对象1 ,所有者。 对象2等 我担心我的电子墨水耗尽了,或者至少让任何一个人的耐心都受到了这么长时间的困扰。 我希望我已经清楚地解释了我完全混乱的状态。 我只是在寻找一些关于我的最佳实践的建议。 所有输入都受到欢迎和赞赏。 在此先感谢David Jennings