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的第二個例子有希望表明的那樣。 –