You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:48:03