2

iOS 向けの C# Mono 開発には、Apple がコードをプリコンパイルする必要があるため、特定の制限があります。つまり、JIT コンパイルは許可されません。このため、Reflection.Emit などの呼び出しはサポートされていません。しかし、iOS 用にコンパイルされた C# で C# ダイナミクスを使用できるかどうかは疑問です。

例えば:

repository.Find(repository.UserName == "ジョン");

ここで「リポジトリ」は、静的メソッド「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 に答える