ASP.NET C# 如何将源 Id 映射到目标对象
创始人
2024-09-14 10:01:30
0

在ASP.NET C#中,可以使用反射来将源对象的属性映射到目标对象。下面是一个示例代码:

using System;
using System.Reflection;

public class SourceObject
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}

public class TargetObject
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public static class Mapper
{
    public static void MapProperties(object source, object target)
    {
        Type sourceType = source.GetType();
        Type targetType = target.GetType();

        PropertyInfo[] sourceProperties = sourceType.GetProperties();
        PropertyInfo[] targetProperties = targetType.GetProperties();

        foreach (PropertyInfo sourceProperty in sourceProperties)
        {
            PropertyInfo targetProperty = Array.Find(targetProperties, p => p.Name == sourceProperty.Name);

            if (targetProperty != null && targetProperty.PropertyType == sourceProperty.PropertyType)
            {
                object value = sourceProperty.GetValue(source);
                targetProperty.SetValue(target, value);
            }
        }
    }
}

public class Program
{
    public static void Main()
    {
        SourceObject source = new SourceObject()
        {
            Id = 1,
            Name = "Test",
            Description = "Sample description"
        };

        TargetObject target = new TargetObject();

        Mapper.MapProperties(source, target);

        Console.WriteLine("Id: " + target.Id);
        Console.WriteLine("Name: " + target.Name);
    }
}

在上面的示例中,SourceObject是源对象,TargetObject是目标对象。Mapper类中的MapProperties方法使用反射来将源对象的属性映射到目标对象。在Main方法中,创建了一个源对象和一个目标对象,并使用MapProperties方法将源对象的属性映射到目标对象。最后打印目标对象的属性值。

注意,这只是一个简单的示例,实际应用中可能需要处理更复杂的映射逻辑和异常情况。

相关内容

热门资讯

透视辅助“打哈儿麻将辅助软件”... 您好:打哈儿麻将辅助软件这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
我来教教大家“闲来辅助神器下载... 我来教教大家“闲来辅助神器下载2022”先前有辅助开挂插件(的确有挂);无需打开直接搜索微信(136...
透视真的“中至窝龙辅助”素来有... 透视真的“中至窝龙辅助”素来有辅助开挂插件(揭秘有挂);无需打开直接搜索微信(136704302)咨...
透视软件“中至余干万能辅助器”... 透视软件“中至余干万能辅助器”先前有辅助开挂脚本(有挂工具) 了解更多开挂安装加(136704302...
透视真的“酷玩联盟破解版下载”... 透视真的“酷玩联盟破解版下载”素来有辅助工具(了解有挂);无需打开直接搜索加(薇:136704302...
一分钟快速了解“兴动海满辅助”... 您好:兴动海满辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
技术分享“赣牌圈控制牌型”本然... 技术分享“赣牌圈控制牌型”本然有开挂辅助器(有挂总结);无需打开直接搜索加薇136704302(咨询...
总算了解“pokemmo免费脚... 总算了解“pokemmo免费脚本”本然有开挂辅助软件(确实有挂);无需打开直接搜索加(薇:13670...
推荐攻略“兴动互娱修改器免费”... 推荐攻略“兴动互娱修改器免费”素来有辅助开挂软件(讲解有挂) 了解更多开挂安装加(136704302...
新手必备“陕西三代辅助”往昔有... 新手必备“陕西三代辅助”往昔有辅助安装(有挂猫腻) 了解更多开挂安装加(136704302)微信号陕...