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