簡體   English   中英

在C#中獲取和設置問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM