为什么这个“标签”是字段?

时间:2018-12-03 08:23:34

标签: c# xamarin xamarin.forms properties field

我目前正在通过Xamarin Book工作。在那里,您可以看到以下代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using Xamarin.Forms;

namespace BookCode

{
    public class Greetings : ContentPage
{
    public Greetings()
    {
        Label label;

        label = new Label
        {
            FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
            HorizontalOptions = LayoutOptions.Center,
            VerticalOptions = LayoutOptions.Center
            };

        Content = label;

           SizeChanged += OnPageSizeChanged;


        void OnPageSizeChanged(object sender, EventArgs args)
        {
            label.Text = String.Format("{0} \u00D7 {1}", Width, Height);
        }
    }
}
}

在代码解释中,您可以阅读以下内容:

“相反,事件处理程序访问Label元素(方便地另存为字段)以显示页面的Width和Height属性。String.Format调用中的Unicode字符是一个倍数(×)符号。” / p>

我目前对字段和属性的了解基本上是:

public class ClassName
{
private string field;

public string property {get {return field;} set {field = value;} }
}

我不明白为什么Label元素另存为字段。可以另存为其他内容吗?

1 个答案:

答案 0 :(得分:9)

这不是字段。字段为members on a class or struct。该标签只是一个局部变量。

这本书是错误的。

通过将标签的定义移至类级别,可以明显地使其成为字段或属性。