問題点
以下のようにdynamicな変数x
のid
という値を出力しようとしています。
Class1
をクラスライブラリに入れると動作しなくなりました。
クラスライブラリに入れなければ動作しました。
エラーログ
ハンドルされていない例外: System.AggregateException: 1 つ以上のエラーが発生しました。 ---> Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'object' に 'id' の定義がありません
質問
- どうしてクラスライブラリに入れると動作しなくなるのでしょうか?
- C# 7のタプルが来るまではdynamicを利用していきたいのですが、
どうにかしてdynamicを用いて、idの値を出力する方法はありますでしょうか?
C#
1static void Main(string[] args) 2{ 3 var class1 = new Class1(); 4 var x = class1.GetDynamic(); 5 6 Console.WriteLine(x.id); 7}
クラスライブラリのプロジェクト
C#
1public class Class1 2 { 3 public dynamic GetDynamic() 4 { 5 return new 6 { 7 id = 1, 8 name = "abc" 9 }; 10 } 11 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/02 11:37 編集
2016/11/02 13:52
2016/11/02 14:36 編集