修改匿名类型的字段?

2 .net c#

在这个例子中:

var p1 = new {Name = "A", Price = 3};
Run Code Online (Sandbox Code Playgroud)

这转化为IL:

class __Anonymous1
{
   private string name ;
   private int price;
   public string Name{ get { return name; } set { name = value ; } }
   public int Price{ get { return price; } set { price= value ; } }
}
__Anonymous1 p1 = new __Anonymous1();
p1.Name = "A";
pt.Price =3
Run Code Online (Sandbox Code Playgroud)

根据IL,它是允许的,为什么会这样?它背后的决定是什么?不应该只读?

谢谢

这是我的第一个问题,温柔.

Joe*_*orn 5

让我转过来看你:为什么要限制它?