在C#中,我有几个类,其中包含以下“逻辑”:

 //objA and objB are instances of the same class
 objA.Property1 = objB.Property1;
 objA.Property2 = objB.Property2;
 objA.Property3 = objB.Property3;
 objA.Property4 = objB.Property4;
 .....
 objA.Property40 = objB.Property40;


我不想将值应用于所有属性(但其中很大一部分)。

这变得越来越重复,如果“类”以某种方式在有新属性的地方发生更改,则不会出现编译错误,并且如果程序员不注意,则会出现错误,因为我们将丢失该属性更改。

我想知道是否有以下方法:

->应用所有属性的值,不包括专门指出的属性,例如:

    //possible syntax
    objA.SetAllPropertiesLess(objB, x => x.Id && x.CreateDate && x.IsDeleted);


不需要像这样的“花哨”,但首先,我想知道.NET框架中是否已有类似的东西,如果没有,也许有人已经有一个实现(轻便/快速)。

最佳答案

您可以使用AutoMapperconditional mapping来实现。

关于c# - C#在“批量”中设置属性值(通过排除),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30643299/

10-09 18:54