Mono 2.10 で同様の問題を再現できません。
using System.Dynamic;
using System.Collections.Generic;
using System;
public class Program
{
public static void Main(string[] args)
{
dynamic x = new ExpandoObject();
x.Data ="test";
x.Arr = new [] { "test1","test2"};
x.Lst = new List<string> { "aap", "noot", "mies" };
Console.WriteLine(string.Join(", ", x.Arr));
Console.WriteLine(string.Join(", ", x.Lst));
}
}
出力:
/tmp @ dmcs test.cs && mono test.exe
test1, test2
aap, noot, mies
私はすぐにWindowsで再テストします。
アップデートは以下をテストしました:
- Mono 2.10 を使用して Windows で実行される Linux でコンパイルされた (dmcs) バイナリ: OK
- MS.NET 4.0 を搭載した Windows で実行される Linux でコンパイルされた (dmcs) バイナリ: OK
- Mono 2.10 を使用して Windows で実行される Windows でコンパイルされた (dmcs) バイナリ: OK
- Windows でコンパイルされた (dmcs) バイナリは、MS.NET 4.0 を搭載した Windows で実行されます: OK
- Windows でコンパイルされた (csc.exe) バイナリは、Mono 2.10 を使用して Windows で実行されます: OK
- MS.NET 4.0 を搭載した Windows で実行される Windows でコンパイルされた (csc.exe) バイナリ: OK
Linux では、mono 自体によってコンパイルされたバイナリのみをテストしましたが、問題はないと予想しています。おそらく、List<> 内にダイナミクスを格納することについて微妙に異なる何かがあるので、それをテストします。