Tag: 范围

从ASP.NET中的标记访问类后面的代码属性的最佳方法

这可能是一个非常愚蠢的问题,但我正在学习.NET,所以我很无能…… 假设我有两个文件default.aspx和相关的default.aspx.cs。 default.aspx.cs: protected void Page_Load(object sender, EventArgs e) { var myObject = new MyObject(); } 有没有办法在default.aspx中我可以做类似的事情: …或者类似的东西,而不必使用数据移动器或像这样复杂的东西? 如果没有办法约束数据,那么最好的方法是什么?

从另一个类访问列表

任何人都可以告诉我如何在一个类中创建一个列表并从另一个类中访问它?

在调用开始之前,迭代中的值会发生变化

我在我的应用程序中有以下代码。 MyEventHandler handler = null; //Declare the handler foreach (string pname in group) { handler = getHandler(pname); //Get the handler if(handler == null) { throw new KeyNotFoundException(“No user ” + pname + ” could be found”); } //invoke the handler handler.BeginInvoke(this, e, new AsyncCallback(EndAsync), null); } 所以我得到了处理程序并调用了BeginInvoke方法。 但是在调用BeginInvoke之前,它会进入下一次迭代并且处理程序值会发生变化。 所以BeginInvoke正在涉及这个新的处理程序。 希望你明白我的观点。 那我怎么能消除这个问题呢? 我不想在BeginInvoke之后调用睡眠,因为我觉得这是一个时间的浪费。 有任何想法吗? Update1我很确定在调用BeginInvoke()之前处理程序对象会被更改。 我猜BeginInvoke需要一些时间来创建一个单独的线程来调用另一个函数。 […]

TransactionScope与C#中的文件

我一直在使用TransactionScope来处理数据库,感觉还不错。 我正在寻找的是以下内容: using(var scope=new TransactionScope()) { // Do something with a few files… scope.Complete(); } 但显然这不起作用 – 如果有20个文件,并且第9个文件发生exception,所有之前的8个仍然保持更改而其余的保持不变 – 不执行回滚。 那么,为文件实现类似范围的行为的最佳方法是什么? 我希望有一个简单的答案,但如果没有,你能给我一些指示,或者指点我的相关文章吗?

变量在当前上下文中不存在?

我知道这很可能是一个愚蠢的问题,但我是一名大学生,他是C#和面向对象编程的新手。 我试图在别处找到答案,但我找不到任何有用的东西。 调试器一直告诉我变量’cust_num在当前上下文中不存在’。 如果有人能告诉我我做错了什么并让我觉得自己像个白痴,我会非常感激。 谢谢! string get_cust_num() { bool cust_num_valid = false; while (!cust_num_valid) { cust_num_valid = true; Console.Write(“Please enter customer number: “); string cust_num = Console.ReadLine(); if (cust_num == “000000” || !Regex.IsMatch(cust_num, @”^[0-9]+$”) || cust_num.Length != 6) { cust_num_valid = false; Console.WriteLine(“Invalid customer number detected. Customer numbers must be a 6 digit positive integer […]