如何在不使用匿名对象的情况下初始化列表初始化程序中的对象?

How to initialize an object inside a list initializer without using anonymous objects?

我有一个列表,我使用初始化列表对其进行了初始化,在该列表中我想创建一个新对象,但我不希望该对象是匿名的。有人可以帮我吗? 我的代码如下所示:

Product product=new Product(){
OrderProductAttributes = new List<OrderProductAttribute>
     {
         //initialize an object(I do not want it to be anonymous)
        }
    }

不确定这就是你所说的匿名的意思,但你绝对可以在初始化期间进行具体实例化。

Product product=new Product(){
OrderProductAttributes = new List<OrderProductAttribute>()
     {
         //initialize an object(I do not want it to be anonymous)
         new OrderProductAttributes() { Property1 = 10, Property2 = false... },
         new OrderProductAttributes() { Property1 = 20 Property2 = false... },
    }};

您还可以命名变量并添加它们:

OrderProductAttributes test = new ...;
OrderProdcutAttributes test2 = new ...;
Product product=new Product(){
OrderProductAttributes = new List<OrderProductAttribute>()
     {
         //initialize an object(I do not want it to be anonymous)
         test,
         test2,
    }};

注意 此代码需要在实例化方法(例如构造函数)中并且不会在成员声明中工作,除非 testtest2 标记为 static.