加入多个模型时,我无法在控制器中访问其属性。
public class BirdModel
{
public IEnumerable<BirdFile> BirdFils { get; set; }
public IEnumerable<BirdFileDetail> BirdFileDetails { get; set; }
}
public partial class BirdFile
{
public int ID{ get; set; }
public string Name{ get; set; }
}
是否可以像这样访问
BirdModel b = new BirdModel();
b.BirdFile.ID
答案 0 :(得分:1)
b.BirdFile.ID
的问题在于您正在尝试访问尚未初始化的属性或对象集合。
您需要创建封装类的实例BirdModel
,然后创建BirdFile
集合的实例并为其添加值。从那里你可以得到具体的#Bird; BirdFile&#34;通过迭代在您的集合中,然后访问其属性。
下面的一个小例子:
class Program
{
static void Main(string[] args)
{
var bm = new BirdModel();
bm.BirdFils = new List<BirdFile>
{
new BirdFile {ID = 1, Name = "Bird A"},
new BirdFile {ID = 2, Name = "Bird B"}
};
bm.BirdFils.ToList().ForEach(x => Console.WriteLine($"Name: {x.Name}, ID: {x.ID}"));
Console.ReadKey();
}
}
public class BirdModel
{
public IEnumerable<BirdFile> BirdFils { get; set; }
}
public partial class BirdFile
{
public int ID { get; set; }
public string Name { get; set; }
}
答案 1 :(得分:0)
BirdModel
包含BirdFile
的集合,因此要访问它们,您应该写下这样的内容:
// create a new model
BirdModel b = new BirtdModel()
// create the instance of BirdFile list
b.BirdFils = new List<BirdFile>()
// add an item (just an example)
b.BirdFils.Add(new BirdFile{ ID = 1, Name = "Bird1"}
// Access to the previously created BirdFile
BirdFile bf = b.BirdFils[0]
答案 2 :(得分:0)
为了访问BirdFile.ID,您必须遍历IEnumerable BirdFils以访问每个单独的对象。