在我的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)
类的抽象成员。
答案 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 } };
}