Подтвердить что ты не робот

.net-native enum.GetValues ​​проблема

Я пытаюсь сделать свое приложение (для Windows 10), работающим с .NET родным.

Я застрял в следующей проблеме: Enum.GetValues не работает во время выполнения с метаданными. Мне удалось упростить тестовый пример для этой проблемы (в реальной жизни мой код выглядит по-другому). В переносной библиотеке у меня есть:

public enum enumValues
{        
    A1,     
    B1,        
    C1,
}

public class fff
{
    public static object GetClass2Value()
    {
        return enumValues.B1;
    }
}

В моем приложении Universal Windows я вызываю следующий код:

Array aaa = Enum.GetValues(fff.GetClass2Value().GetType());

Я получаю следующее исключение:

Дополнительная информация: 'enumlibportable.enumValues ​​[]' отсутствует метаданные.

Проблема в том, что я понятия не имею, что добавить к Default.rd.xml. Я попытался добавить разные строки rd (enum subtype, enumValues ​​class, enumValues ​​[] и т.д.), Используя инструмент microsoft http://go.microsoft.com/fwlink/?LinkID=392859, но не повезло.

UPDATE: Я знаю, что следующий код будет работать для моего testcase Enum.GetValues(typeof(enumValue)), но я не могу использовать его в своем реальном проекте, так как я не знаю точного типа перечисления в моем реальном проекте.

4b9b3361

Ответ 1

Мне это не имеет смысла, но следующая строка RD работала для моего тестового файла:

<Type Name="enumlibportable.enumValues[]" Browse="Required All"/>

Ответ 2

Может быть, вы можете попробовать, это может помочь вам

Array aaa = (enumValues) Enum.Parse(typeof(enumValues), fff.GetClass2Value());