为什么我得到“修饰符’虚拟’对此项无效”错误?
我正在尝试使用下面的模型创建mvc应用程序:(代码很大。我认为这对你来说更容易理解)
public class Job { public int JobId { get; set; } public string Name { get; set; } public List GetJobs() { List jobsList = new List(); jobsList.Add(new Job { JobId = 1, Name = "Operator" }); jobsList.Add(new Job { JobId = 2, Name = "Performer" }); jobsList.Add(new Job { JobId = 3, Name = "Head" }); return jobsList; } } public class Person { public virtual int PersonId { get; set; } public string FullName { get; set; } public int JobId { get; set; } public virtual Job Job; public string Phone { get; set; } public string Address { get; set; } public string Passport { get; set; } [DataType(DataType.MultilineText)] public string Comments { get; set; } } public class PersonPaidTo : Person { [Key] public override int PersonId { get; set; } public virtual List Orders { get; set; } } public class Head : Person { [Key] public override int PersonId { get; set; } public Job Job { get; set; } public Head() { Job.Id = 3; } }
我在类字段Person
中有错误Job
:
修饰符’virtual’对此项无效
是的,此代码无效:
public virtual Job Job;
那是宣告一个字段 ,字段不能是虚拟的。 你要么想要它是一个属性:
public virtual Job Job { get; set; }
或者只是一个字段:
// Ick, public field! public Job Job;
(我的猜测是你想要前者,但两者都是有效的C#。)
将字段设为私有并使用公共属性公开的正确方法。
上述就是C#学习教程:为什么我得到“修饰符’虚拟’对此项无效”错误?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
//Field private Job job; //Property public virtual Job Job { get { return job; } set { job= value; } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/953900.html