我正在尝试让我的应用程序(适用于 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());
我收到以下异常:
Additional information: 'enumlibportable.enumValues[]' is missing metadata.
问题是我不知道要向 Default.rd.xml 添加什么。我尝试使用 Microsoft 工具 http://go.microsoft.com/fwlink/?LinkID=392859 添加不同的 rd 字符串(枚举子类型、enumValues 类、enumValues[] 等) , 但没有运气。
更新:
我知道下面的代码适用于我的测试用例 Enum.GetValues(typeof(enumValue))
,但我不能在我的真实项目中使用它,因为我不知道确切的枚举类型我的真实项目。
最佳答案
这对我来说没有意义,但以下 RD 字符串适用于我的测试用例:
<Type Name="enumlibportable.enumValues[]" Browse="Required All"/>
关于c# - .net-native enum.GetValues 麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32452274/