C# 如何向对象文字添加新属性

C# 如何向对象文字添加新属性,c#,object-literal,C#,Object Literal,是否可以在初始化对象文字后向其添加新属性。我想做如下事情: // Initialize new object literal to hold subset of information about each transaction. var transactionJson = new {}; transactionJson[transaction.Id] = new { Status = transactionList.StatusProperty, Completed =

是否可以在初始化对象文字后向其添加新属性。我想做如下事情:

// Initialize new object literal to hold subset of information about each transaction.
var transactionJson = new {};

transactionJson[transaction.Id] = new {
     Status = transactionList.StatusProperty,
     Completed = transactionList.Completed,
     First = transactionList.First
};

这本来是不可能的。
匿名类型是不可变的,并且是类型安全的


您应该使用字典或
动态对象

,这本来是不可能的。
匿名类型是不可变的,并且是类型安全的


您应该使用字典或不是对象文字的
动态对象

;它是一个匿名类型,不是一个对象文本;这是一种匿名类型。这就是在不使用动态语言的情况下模拟动态语言功能的问题。。。只是让那些期望它像其他东西一样工作的人感到困惑D@SLaks:不确定,今天将继续尝试DynamicObject,并让您知道它是否有效。将尝试记住检查它是哪个JSON序列化程序。这就是在不作为动态语言的情况下模拟动态语言功能的问题。。。只是让那些期望它像其他东西一样工作的人感到困惑D@SLaks:不确定,今天将继续尝试DynamicObject,并让您知道它是否有效。将尝试记住检查它是哪个JSON序列化程序。