jay*_*jay 6 c# android xamarin.android
我在下面的链接中看到: 可以在单点触控中动态执行代码吗?
在 ios xamarin 中不可能使用动态。在 Andoid xamarin 中怎么样?
我尝试执行以下操作:
dynamic MyDynamic = new System.Dynamic.ExpandoObject();
MyDynamic.A = "A";
MyDynamic.B = "B";
Run Code Online (Sandbox Code Playgroud)
但是,当我想访问 MyDinamic.A 时,它说未知成员:A。
有人可以帮忙吗?谢谢。
编辑:我还根据屏幕截图在解决方案参考中添加了 Microsoft.Csharp dll:
我不确定你使用哪个 IDE 来开发 xamarin android 应用程序,在我这边我使用 VS2015,错误是
缺少编译器所需的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”
这是因为在您的项目中使用dynamic关键字时。该程序集包含 C# 运行时绑定程序。为了解决这个问题,我们需要在项目中添加对 Microsoft.CSharp 库(Microsoft.CSharp.dll)的引用:
添加此引用后,您的代码在我身边运行良好。
但我不确定Xamarin.Android是否会限制动态对象的使用,通过我在xamarin的官方文档中没有发现任何限制。关于动态对象的更多信息可以参考:
System.Dynamic.DynamicObject 类
System.Dynamic.ExpandoObject 类
小智 5
转到NuGet Package Manager>Manage NuGet packages菜单。然后更改Source为Microsoft Visual Studio Offline Packages. 添加后,它应该编译成功。
