私は言うエラーが出ます:
「オブジェクト」には「タイトル」の定義が含まれていません
すべてのコードもgithubにあります
次のようなConsoleApplication1があります
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Movie m = new Movie();
var o = new { Title = "Ghostbusters", Rating = "PG" };
Console.WriteLine(m.PrintMovie(o));
}
}
}
とMovie.cs
public class Movie : DynamicObject
{
public string PrintMovie(dynamic o)
{
return string.Format("Title={0} Rating={1}", o.Title, o.Rating);
}
}
SAMEプロジェクトからは問題なく機能しますが、ConsoleApplication1への参照を使用してConsoleApplication2を追加し、まったく同じコードを追加した場合
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Movie m = new Movie();
var o = new { Title = "Ghostbusters", Rating = "PG" };
Console.WriteLine(m.PrintMovie(o));
}
}
}
エラーが発生します:
「オブジェクト」には「タイトル」の定義が含まれていません**
動的オブジェクト内にありますが。
- o.Title 'o.Title'は、タイプ 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'の例外をスローしましたdynamic {Microsoft.CSharp.RuntimeBinder.RuntimeBinderException}
これがスクリーンショットです:
私はこのようなことをしていて、テストプロジェクトからmovie関数を呼び出そうとしています。