在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框架中是否已有类似的东西,如果没有,也许有人已经有一个实现(轻便/快速)。
最佳答案
您可以使用AutoMapper和conditional mapping来实现。
关于c# - C#在“批量”中设置属性值(通过排除),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30643299/