对于任何绊倒这个问题的人。不幸的是,在我有机会使用错误消息进行修改之前,它被过度热心的评论员拒绝了。问题仍然存在,答案也是如此。
我有这样的结构
public struct note{
public note (double SampleTime, string Label)
{
sampleTime = (float)SampleTime;
label = Label;
}
float sampleTime;
string label;
}
我已经宣布了一个由新笔记结构组成的列表
public List<note> notesList;
在其他一些方法中初始化它然后添加数据
notesList = new List<note>();
notesList.Add(new note(Convert.ToDouble(seperatefields[0]),seperatefields[1]));
然后我想创建一个foreach循环并读出列表中的内容
foreach(note n in notesList){
Debug.Log (n.sampleTime);
}
然而,这不会奏效。
`rhythmGameUtilityReadFile.note.sampleTime&#39;由于其保护级别而无法访问
由于
吉姆
答案 0 :(得分:2)
C#中的默认访问修饰符为private
。您的struct
只有私人字段,因此您无法访问它们。添加公共属性以获取值:
public struct Note
{
float sampleTime;
string label;
public Note(double SampleTime, string Label)
{
sampleTime = (float)SampleTime;
label = Label;
}
public float SampleTime { get { return sampleTime; } }
public string Label { get { return label; } }
}
答案 1 :(得分:1)
因为你的struct中没有任何公共字段。
答案 2 :(得分:0)
它不起作用,因为该字段无法访问。
将其公之于众,并将其作为财产。
public struct note
{
public note (double sampleTime, string label)
{
SampleTime = (float)sampleTime;
Label = label;
}
public float SampleTime { get; private set; }
public string Label { get; private set; }
}