gpt4 book ai didi

c# - 如何用新的类值填充当前类?

转载 作者:太空宇宙 更新时间:2023-11-03 19:28:59 26 4
gpt4 key购买 nike

这个有点难以解释,所以我先展示代码..

注意:使示例不那么困惑

public class Class1{     public string Title {get;set;}     public string Name {get;set;}     public Class1(Class1 class1)     {         // ?? How do I populate current class with new class values?         // ?? this = class1;  - Does not work         // I want to avoid having to manually set each value     }}

感谢您的帮助..这是我所做的..在我的扩展类中创建的..所以我现在可以做

Extensions.MapValues(class1, this);

    public static void MapValues(object from, object to)    {        var fromProperties = from.GetType().GetProperties();        var toProperties = to.GetType().GetProperties();        foreach (var property in toProperties) {            var fromProp = fromProperties.SingleOrDefault(x => x.Name.ToLower() == property.Name.ToLower());            if(fromProp == null) {                continue;            }            var fromValue = fromProp.GetValue(from, null);            if(fromValue == null) {                continue;            }            property.SetValue(to, fromValue, null);        }    }

最佳答案

你不能。

您可以手动复制属性,或将构造函数替换为返回 row.ToClass1() 的静态工厂方法。

关于c# - 如何用新的类值填充当前类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6387223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com