私は、.NETネイティブの下で働いて(Windowsの10のために)私のアプリを作るしようとしています。.NETネイティブenum.GetValuesトラブル
私は、次の問題に捕まってしまった:Enum.GetValues
が不足しているメタデータを使用して実行時に失敗しました。私はこの問題のテストケースを単純化することができました(私のコードは違って見えます)。ポータブルなライブラリでは私が持っている:
public enum enumValues
{
A1,
B1,
C1,
}
public class fff
{
public static object GetClass2Value()
{
return enumValues.B1;
}
}
私は、次のコードを呼び出す:
Array aaa = Enum.GetValues(fff.GetClass2Value().GetType());
私は次の例外受け取る:
追加情報:「をenumlibportable.enumValues [] 'にはメタデータがありません。
問題は、Default.rd.xmlに何を追加するかわからないということです。私はマイクロソフトのツールhttp://go.microsoft.com/fwlink/?LinkID=392859を使用して、異なる番目の文字列(列挙型のサブタイプ、enumValuesクラス、enumValues []など)を追加しようとしましたが、運がなかったしました。
UPDATE: 私は、次のコードは、私のテストケースEnum.GetValues(typeof(enumValue))
のために働くことを知っているが、私は私の本当のプロジェクトの正確な列挙型を知らないので、私は私の実際のプロジェクトでそれを使用することはできません。
私は実際のコードを仮定しますサブクラス化/インターフェースの場合ですか?少し詳しく教えていただけますか? – Nyerguds
実際のプロジェクトを説明するには時間がかかりすぎます。そのため、問題の原因を突き止めサンプルを準備するのに多くの時間を費やしています。私は十分に私の問題を説明した。問題は、アプリケーションで明示的に参照されていないため、最適化によって列挙型メタデータが削除されることです。このメタデータを削除しないようにコンパイラに指示する必要があります。 –
戻り値の型を汎用にすることはできませんか? – Herdo