如何使用对象初始化程序在vb.net中创建数组来设置属性

时间:2013-04-30 17:17:41

标签: c# vb.net

我正在查看http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

上的代码示例

作为练习,我正试图将它从C#翻译成vb.net但是没有运气,

    public class Product
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Category { get; set; }
            public decimal Price { get; set; }
    }
     Product[] products = new Product[] 
       { new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 }, 
         new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M }, 
         new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M } 
            };

我试过

      Public class Product
         Public Property Id As Integer
         Public Property Name As String
         Public Property Category As String
         Public Property price As Decimal
      End Class

    Dim products() As Product = { _
         new Product (Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 ), _
         new Product ( Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M ), _
         new Product (Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M ) }

我见过使用List而不是数组的建议,所以我打算尝试一下,但想知道我在这里缺少什么。

1 个答案:

答案 0 :(得分:9)

看一下对象初始化器:

Dim namedCust = New Customer With {.Name = "Terry Adams".....

注意With以及'。'对于您要设置的每个属性。

 Dim products() As Product = { _
         new Product With {.Id = 1, .Name = "Tomato Soup", .Category = "Groceries", 
                           .Price = 1 }, _.....

MSDN Link

Further reading.

相关问题