我有以下问题。我希望能够在不使用反射的情况下将其设置为传递的参考,可以这样做吗?

//partial class of a Linq-to-SQL class
public partial class Product
{
   public Product (Product product, List<ProductAttributes> productAttributes)
   {
      // without individually setting all the properties

      //then just set any other properties
      this.ProductAttributes = productAttributes;
   }
}

最佳答案

您不能在引用类型中设置this(并且不应该在值类型中设置它)。如果您要查找的是对象字段或属性的浅(或深)副本,则有两种选择:


手动地
反射


语言和运行时都没有内置的工具来自动执行浅或深复制,这是有充分理由的。不可能确定任何给定类型的外观。

07-25 20:30