C#练习开发学生注册系统 构造函数传Enum报错无JobPosition定义
问题成因
- 枚举引用方式错误:你自定义的
JobPosition是独立的枚举类型,不属于C#内置的System.Enum基类的嵌套成员,代码中写Enum.JobPosition.xxx的写法本身不符合语法规则。 - 枚举值大小写不匹配:
JobPosition枚举里定义的初级教师枚举项为全大写的JUNIOR_TEACHER,但调用时写的是JUNIOR_Teacher,C#是大小写敏感的编程语言,名称不匹配会触发编译错误。
解决办法
直接修改创建Teacher实例时传入的枚举参数即可,把原错误代码:
new Teacher(Enum.JobPosition.JUNIOR_Teacher, Convert.ToInt32(txtEc.Text), Convert.ToInt32(txtAge.Text), txtName.Text, Convert.ToInt32(txtPcn.Text), Convert.ToInt32(txtYearAtSchool.Text))
修改为:
new Teacher(JobPosition.JUNIOR_TEACHER, Convert.ToInt32(txtEc.Text), Convert.ToInt32(txtAge.Text), txtName.Text, Convert.ToInt32(txtPcn.Text), Convert.ToInt32(txtYearAtSchool.Text))
如果JobPosition枚举定义在其他命名空间下,只需要在当前代码文件顶部添加对应的using 枚举所在的命名空间;语句即可。
内容的提问来源于stack exchange,提问作者Jessy
相关产品推荐
相关产品推荐

