在C#中将我的枚举转换/铸造为对象

时间:2019-10-29 09:45:54

标签: c# .net-core xunit

在我的GetData(MethodInfo testMethod)中,我试图返回类型为Role的{​​{1}}属性,它是一个枚举。

Role

但是我收到一个错误消息:

  

错误CS0308非泛型方法'Enum.ToObject(Type,byte)'不能与类型参数一起使用

public class RoleAttribute : DataAttribute { public Role Role { get; set; } public RoleAttribute(Role role) { Role = role; AuthRespository.Login(role); } public override IEnumerable<object[]> GetData(MethodInfo testMethod) { return Role.ToObject<List<object[]>>(); } } GetData(MethodInfo testMethod)类的抽象成员。

1 个答案:

答案 0 :(得分:2)

通过该属性,可以执行其他功能(即AuthRespository.Login(role);

只需让GetData返回所需数据

public override IEnumerable<object[]> GetData(MethodInfo testMethod) {
    yield return new object[] { Role };
}

public override IEnumerable<object[]> GetData(MethodInfo testMethod) {
    return new[] { new object[] { Role } };
}