.net FastMember支持匿名类型吗?

8tntrjer  于 2023-05-19  发布在  .NET
关注(0)|答案(2)|浏览(130)

我使用FastMember作为反射的替代。在源代码中,我看到有一个匿名类型支持的单元测试,但是当我尝试为匿名类型TypeMember.CreateNew()时,我得到了一个NotSupportedException。他们不支持吗?

0wi1tuuw

0wi1tuuw1#

它们受支持,但不支持TypeMember-您应该使用ObjectAccessor,如:

var obj = new {A = 123, B = "def"};
var accessor = ObjectAccessor.Create(obj);
Assert.AreEqual(123, accessor["A"]);
lymnna71

lymnna712#

很老的问题,但我只是有同样的疑问,你可以简单地做:

var anon = new
{
    Prop1 = "a",
    Prop2 = "b"
};

MemberSet members =
    TypeAccessor
        .Create(anon.GetType())
        .GetMembers();

相关问题