我无法在 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 上重新测试。
更新测试了以下内容:
- linux 编译的 (dmcs) 二进制文件在带有 Mono 2.10 的 Windows 上运行:OK
- linux 编译的 (dmcs) 二进制文件在带有 MS.NET 4.0 的 Windows 上运行:OK
- Windows 编译的 (dmcs) 二进制文件在带有 Mono 2.10 的 Windows 上运行:OK
- Windows 编译的 (dmcs) 二进制文件在带有 MS.NET 4.0 的 Windows 上运行:OK
- Windows 编译的 (csc.exe) 二进制文件在带有 Mono 2.10 的 Windows 上运行:OK
- Windows 编译的 (csc.exe) 二进制文件在带有 MS.NET 4.0 的 Windows 上运行:OK
在linux上我只测试了mono本身编译的二进制文件,但我预计不会有任何问题。也许在 List<> 中存储动态有一些微妙的不同,我现在来测试一下