尝试使用C#和XAML构建Windows 8应用程序。
我创建了一个类:
class Tile
{
public Tile(int ID, string Name, double Frequency, double Divider, int Value, int Turns, int StartLevel)
{
this.ID = ID;
this.Name = Name;
this.Frequency = Frequency;
this.Divider = Divider;
this.Value = Value;
this.Turns = Turns;
this.StartLevel = StartLevel;
}
private int ID { get; set; }
private string Name { get; set; }
private double Frequency { get; set; }
private double Divider { get; set; }
private int Value { get; set; }
private int Turns { get; set; }
private int StartLevel { get; set; }
}
我已将对象添加到列表中:
List<Tile> tList = new List<Tile>();
tList.Add(new Tile(0, "Example1", 0.08, 1.00, 0, 7, 1));
tList.Add(new Tile(1, "Example2", 0.21, 1.25, 0, 0, 1));
使用标准C#时,我可以访问对象的属性,如:
foreach (Tile t in tList)
{
int test = t.ID;
}
问题: 在我上面的foreach声明中,当我输入“t”时。这个可用元素列表中出现的所有内容是:
等于 GetHashCode的 的GetType 的ToString
我期待: 出现以下元素:
ID 名称 频率 分频器 值 圈 STARTLEVEL
我在这里缺少什么?
答案 0 :(得分:4)
您的Tile类中的属性设置为private。为了能够从课外访问属性,您需要将它们声明为public:
public class Tile
{
public int ID { get; set; }
public string Name { get; set; }
public double Frequency { get; set; }
public double Divider { get; set; }
public int Value { get; set; }
public int Turns { get; set; }
public int StartLevel { get; set; }
}
你可以保留相同的构造函数,尽管在添加/减去属性时最终会变得很乱。另一种可以实例化Tile对象列表的方法是:
List<Tile> tList = new List<Tile>
{
new Tile
{
ID = 0,
Name = "Example1"
}
};
...您需要设置多个公共属性。