2016-12-28 4 views
2

私は下のリンクで見てきた:IOSのxamarinでダイナミックを使用することは不可能であることを Can execute Code Dynamically in monotouch?アンドロイドxamarinでダイナミック

。 Andoid xamarinではいかがですか?

私は次の操作を実行しようとした:

  dynamic MyDynamic = new System.Dynamic.ExpandoObject(); 
      MyDynamic.A = "A"; 
      MyDynamic.B = "B"; 

しかし、私はMyDinamic.Aにアクセスしたいとき、それが不明なメンバーと述べている:A.

は、誰かが助けてくださいことはできますか?ありがとう。

編集:私はまた、スクリーンショットごとにソリューション参照してMicrosoft.Csharp DLLを追加しました:

enter image description here

+0

私は、一般的な変数に対してビット演算を実行するには、Android文脈でダイナミックな使用 - 正常に動作しているようです。たぶんそれは完全にサポートされていないExpandoObjectですか?私はエラーが実行時に発生すると仮定しますか? – Marwie

答えて

2

私はIDEはあなたのxamarin Androidアプリを開発するために使用したのかわからないんだけど、私の側で私はVS2015を使用して、エラーが

欠落コンパイラに必要なメンバーのMicrosoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create "

0123です

これは、プロジェクトでdynamicキーワードを使用する場合に発生するためです。アセンブリには、C#ランタイムバインダが含まれています。この問題を解決するために、我々は我々のプロジェクトでMicrosoft.CSharpライブラリ(Microsoft.CSharp.dll)への参照を追加する必要があります。

enter image description here

この参照を追加した後、あなたのコードは、私の側でも動作します。

しかし、私はXamarin.Androidが動的オブジェクトの使用を制限するかどうかはわかりませんが、xamarinの公式ドキュメントには何の制限も見つかりませんでした。動的オブジェクトの詳細については、以下を参照してください。

System.Dynamic.DynamicObject Class

System.Dynamic.ExpandoObject Class

関連する問題