2

由于 Apple 要求对代码进行预编译,因此 C# Mono 开发 iOS 有一定的限制,即不允许 JIT 编译。因此,不支持诸如 Reflection.Emit 之类的调用。但我想知道 C# 动态是否可以在为 iOS 编译的 C# 中使用。

例如:

repository.Find(repository.UserName == "John");

这里的“repository”是一个动态对象,具有静态方法“Find”和动态属性“UserName”。这种方法适用于所有现代基于 Windows 的 .NET 平台,我相信它也适用于 Android 的 Mono。但是 MonoTouch 呢?原则上不应该限制基于运行时信息动态解析动态属性 - 除非可能是 Apple 擅长的法律限制。

4

1 回答 1

3

最后我检查了一下,由于 Apple 禁止 JIT,不支持动态。在 Android Xamarin 工具中确实可以利用 dynamic 关键字,但 Apple 需要预编译代码。这些工具上有一个出色的 .NET Rocks 播客,描述了使用这些工具使用这些不同平台的概述。

于 2013-05-16T17:38:46.937 回答