3
之后恢复为默认我创建了一个类来保存一些电子邮件数据:实例变量重置实例
public class EmailClass{
public string sender;
public string receiver;
public string message;
public EmailClass(string sender, string receiver, string message){
this.sender = sender;
this.receiver = receiver;
this.message = message;
}
public string Sender { get; set; }
public string Receiver { get; set; }
public string Message{ get; set; }
}
在我的web应用程序,我有一个页面:MyHome.aspx.cs
(在相同的命名空间EmailClass
创建):
public partial class MyHome: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
EmailClass obj = new EmailClass("sender", "receiver", "a message");
Response.Write("Info: " + obj.Sender + " " + obj.Receiver + " " + obj.Message);
}
}
我希望什么时候Home.aspx是加载是显示:
Info: sender receiver a message
但是,它显示
Info:
似乎从EmailClass
实例变量被重置为默认,当我试图访问这些页面加载。为了调试的目的,我添加了一个MessageBox来在构造函数中显示实例变量的值(构造函数被调用,值在实例化时被设置)。
我的问题:那么是什么导致实例变量的值被重置/不显示?
注意:当我明确设置对象的值时,它在页面加载期间确实显示。 I.e .: obj.Sender = "sender";
。
啊,我明白了。花了这么多时间试图弄清楚发生了什么。我来自Java背景,希望编译器区分this.xxx和xxx。非常感谢。我将阅读自动实现的属性。时间锁定结束后,将接受您的答案。 – user3437460
你可以从这里开始:https://msdn.microsoft.com/en-us/library/bb384054.aspx快乐编码.... –
@ user3437460 - 这与'this.xxx'和'xxx'无关,正如Jeroen的第二个例子有希望表明的那样。 –