Kode di bawah ini berfungsi dengan baik selama saya memiliki kelas ClassSameAssemblydi perakitan yang sama dengan kelas Program. Tetapi ketika saya memindahkan kelas ClassSameAssemblyke majelis terpisah, RuntimeBinderException(lihat di bawah) dilemparkan. Apakah mungkin untuk mengatasinya?
using System;
namespace ConsoleApplication2
{
public static class ClassSameAssembly
{
public static dynamic GetValues()
{
return new
{
Name = "Michael", Age = 20
};
}
}
internal class Program
{
private static void Main(string[] args)
{
var d = ClassSameAssembly.GetValues();
Console.WriteLine("{0} is {1} years old", d.Name, d.Age);
}
}
}
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'object' tidak mengandung definisi untuk 'Name'
at CallSite.Target(Closure , CallSite , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
at ConsoleApplication2.Program.Main(String[] args) in C:\temp\Projects\ConsoleApplication2\ConsoleApplication2\Program.cs:line 23