如何在匿名类型中使用复杂的属性名称?

val*_*lik 6 c# post anonymous-types asp.net-mvc-3

在我的MVC3应用程序中,我想创建一个匿名集合,其字段名称如下:

new 
{                                                                            
   Buyer.Firstname = "Jim",
   Buyer.Lastname = "Carrey",
   Phone = "403-222-6487",
   PhoneExtension = "",
   SmsNumber = "",
   Buyer.Company = "Company 10025",
   Buyer.ZipCode = "90210",
   Buyer.City = "Beverly Hills",
   Buyer.State = "CA",
   Buyer.Address1 = "Address 10025"
   Licenses[0].IsDeleted = "False",
   Licenses[0].ID = "6",
   Licenses[0].AdmissionDate = "2,1999",
   Licenses[0].AdmissionDate_monthSelected = "2",                                                                           

                                                                    } 
Run Code Online (Sandbox Code Playgroud)

我希望有这个,以便在我的应用程序的集成测试期间发送自定义发布请求.如何使用此字段名称声明匿名集合?

I a*_*ica 8

使用匿名对象的匿名集合,如下所示:

Licenses = new [] {
    new {
        IsDeleted = "False",
        ID = "6",
        AdmissionDate = "2,1999",
        AdmissionDate_monthSelected = "2"
    } //, ... and so on
}
Run Code Online (Sandbox Code Playgroud)

......在上下文中:( [编辑]哦,我没有看到你的买家...)

new 
{    
    Buyer = new {
        Firstname = "Jim",
        Lastname = "Carrey",
        Company = "Company 10025",
        ZipCode = "90210",
        City = "Beverly Hills",
        State = "CA",
        Address1 = "Address 10025",
    },                                                                        
    Phone = "403-222-6487",
    PhoneExtension = "",
    SmsNumber = "",
    Licenses = new [] {
        new {
            IsDeleted = "False",
            ID = "6",
            AdmissionDate = "2,1999",
            AdmissionDate_monthSelected = "2"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Dar*_*rov 6

您可以使用对象和集合初始化器语法:

var anonymousObject = new 
{                                                                            
    Phone = "403-222-6487",
    PhoneExtension = "",
    SmsNumber = "",
    Buyer = new 
    {
        Firstname = "Jim",
        Lastname = "Carrey",
        Company = "Company 10025",
        ZipCode = "90210",
        City = "Beverly Hills",
        State = "CA",
        Address1 = "Address 10025"
    },
    Licenses = new[]
    {
        new
        {
            IsDeleted = "False",
            ID = "6",
            AdmissionDate = "2,1999",
            AdmissionDate_monthSelected = "2",                                                                           
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)