我正在尝试使我的应用程序(适用于 Windows 10)在 .NET Native 下工作。
我遇到了以下问题:Enum.GetValues
在运行时失败,提示缺少元数据。我已经为这个问题简化了测试案例(实际代码看起来不同)。在可移植库中,我有:
public enum enumValues
{
A1,
B1,
C1,
}
public class fff
{
public static object GetClass2Value()
{
return enumValues.B1;
}
}
在我的通用 Windows 应用程序中,我调用了以下代码:
Array aaa = Enum.GetValues(fff.GetClass2Value().GetType());
我收到了以下异常:
附加信息:'enumlibportable.enumValues[]' 缺少元数据。
问题在于我不知道该在Default.rd.xml文件中添加什么内容。我尝试使用微软工具http://go.microsoft.com/fwlink/?LinkID=392859添加不同的rd字符串(如枚举子类型,enumValues类,enumValues []等),但都没有成功。
更新:
我知道以下代码对于我的测试案例Enum.GetValues(typeof(enumValue))
是有效的,但我不能在我的真实项目中使用它,因为我不知道实际枚举类型是什么。