私はそのサポートされている場合はわからないが、私は(以下のコードを使用して)動的なExpandoObject
のための情報を入力し、私を与えることをfastmember取得しようとしていると私はエラーを取得:FastMemberとExpandoObjectエラー
System.NotSupportedException: Specified method is not supported. at FastMember.TypeAccessor.GetMembers() at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
匿名の2番目のテストdynamic
は正常に動作しますが、なんらかの理由でExpandoObject
で動作しません。これは可能なのでしょうか?私はExpandoObject
ディクショナリの実装を使用することで、すべてのコードに同じコードを使用するのがうまくいけば、別の解決策を考えることができます。
public class FastMemberTest
{
[Fact]
public void GetsMembersOfExpandoObject()
{
dynamic dyn = new ExpandoObject();
dyn.Item1 = 1;
dyn.Item2 = "Testing";
var typeAccessor = TypeAccessor.Create(dyn.GetType());
var members = typeAccessor.GetMembers();
members.Should().NotBeNull();
}
[Fact]
public void GetsMembersOfDynamicType()
{
dynamic dyn = new
{
Item1 = 1,
Item2 = "Testing"
};
var typeAccessor = TypeAccessor.Create(dyn.GetType());
var members = typeAccessor.GetMembers();
}
}
[テストXunit2ある]