[英]Problem with getting and setting in C#
我正在嘗試將一行文本指定為一個字符串,因此該字符串可以在消息框中使用,盡管在執行該方法時該字符串無法在消息框中顯示。
public string version { get; set; }
public void GetVersion()
{
var version = File.ReadAllText("version.txt");
}
private void SetBalloonTip()
{
notifyIcon1.Icon = SystemIcons.Exclamation;
notifyIcon1.BalloonTipTitle = "Test";
notifyIcon1.BalloonTipText = "This is version " + version;
notifyIcon1.BalloonTipIcon = ToolTipIcon.Error;
this.Click += new EventHandler(button1_Click);
}
刪除var
:
version = File.ReadAllText("version.txt");
通過添加var
(或與此相關的任何變量類型),您可以在創建本地變量的同時分配類成員。
有時也會發生在我身上,我認為這是C#
缺點,因為我期望編譯這樣的事情時至少會發出警告。
您正在使用“ var version”聲明局部變量,該變量與屬性“ version”分開。 只需將“ var version”替換為“ this.version”或“ version”即可。
var version = ...
用局部變量遮蓋屬性; 這意味着,分配存儲在一個局部變量命名的version
,沒有命名的屬性version
。
this.version = ...
將做您想要的。
順便說一句,在C#中,約定俗成,局部變量以小寫字母開頭,而屬性以大寫字母開頭-像這樣的約定可能有助於減輕您在此處遇到的陰影問題。
如果您在此處使用var ,則還應了解其用途和含義。 切勿使用您不熟悉的任何東西。 這只是經驗法則。
如上所述,為類成員使用適當的大小寫並以此訪問類成員。 是最佳做法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.