C# 无法将字符串转换为枚举

C# 无法将字符串转换为枚举,c#,enums,C#,Enums,我需要创建一个适配器类 Resource是一个名为ModalityResource的枚举 transportOrderTrip.ModalityResource是一个字符串 if(Enum.IsDefined(typeof(ModalityResource), transportOrderTrip.ModalityResource)) trip.Resource = Enum.Parse(typeof(ModalityResource), transportOrderTrip.Modal

我需要创建一个适配器类

Resource是一个名为ModalityResource的枚举

transportOrderTrip.ModalityResource是一个字符串

if(Enum.IsDefined(typeof(ModalityResource), transportOrderTrip.ModalityResource))
    trip.Resource = Enum.Parse(typeof(ModalityResource), transportOrderTrip.ModalityResource, true);
此处ModalityResource的可能值:

 public enum ModalityResource { NONE, CHASSIS, TRAILER }
我得到的错误是:无法将类型“object”隐式转换为“ModalityResource”。任何人都可能知道出了什么问题

编辑:没关系,我有点困惑

  trip.Resource = (ModalityResource) Enum.Parse(typeof (Shared.Interfaces.ModalityResource), transportOrderTrip.ModalityResource, true);

您必须将
Enum.Parse
的结果强制转换为
ModalityResource
。 在.NET4或更新版本中,您还可以使用函数的通用重载

trip.Resource = (ModalityResource)Enum.Parse(typeof(ModalityResource), transportOrderTrip.ModalityResource, true);
另见

您必须将
Enum.Parse
的结果强制转换为
ModalityResource
。 在.NET4或更新版本中,您还可以使用函数的通用重载

trip.Resource = (ModalityResource)Enum.Parse(typeof(ModalityResource), transportOrderTrip.ModalityResource, true);
另见

您需要演员阵容

Enum.Parse method returns object
将代码更改为以下内容

(ModalityResource)Enum.Parse(typeof(ModalityResource), transportOrderTrip.ModalityResource, true);
你需要演员阵容

Enum.Parse method returns object
将代码更改为以下内容

(ModalityResource)Enum.Parse(typeof(ModalityResource), transportOrderTrip.ModalityResource, true);

您需要将其强制转换为所需的
Enum
类型,因为返回类型是
object

(ModalityResource) Enum.Parse(typeof(ModalityResource), 
                             transportOrderTrip.ModalityResource, true);

上,您需要将其强制转换为所需的
Enum
类型,因为返回类型是
object

(ModalityResource) Enum.Parse(typeof(ModalityResource), 
                             transportOrderTrip.ModalityResource, true);

上,即使你自己想出了答案,你仍然应该接受答案-然后自己写一个答案并接受它。即使你自己想出了答案,你仍然应该接受答案-然后自己写一个答案并接受它。