0

オブジェクトからプロパティを読み取るためにリフレクションを使用しています。

読み取った値が参照型 (String[] など) の場合、これを Object[] 配列としてキャストし、配列内の文字列をループ処理できます。

    String[] Workers = { "Steve", "Sally", "Jim" };
    Object SomeValue = Workers;
    // Prented that SomeValue is returned from reflection        
    List<Object> SomeList = new List<Object>((Object[])SomeValue);

ただし、オブジェクトが値型の配列である場合、配列に再キャストすることはできません。私はすべてを試しました。C# は、何らかの理由でそれを ValueType の配列として再キャストしません (おそらくうまくいくと思います)。

    Int32[] WorkingHours = { 1, 2, 65, 6 };
    Object SomeValue = WorkingHours;
    // Prented that SomeValue is returned from reflection
    List<Object> SomeList = new List<Object>((ValueType[])SomeValue);

助言がありますか?

4

1 に答える 1