首页 > 解决方案 > 如何将一个类的内容转换为一个新的类?

问题描述

我有 2 节课:

public class BookingSummary
{
    public int BookingId { get; set; }
    public string BookingReference { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
    public string HotelCode { get; set; }
    public string HotelName { get; set; }
    public bool PreCheckinCompleted { get; set; }
    public string BookingPeriod {get; set; } 
    public string UserType { get; set; }
    public string UserRole { get; set; }
}

public class PersonalisationState
{
    public UserType UserType { get; set; }
    public UserRole UserRole { get; set; }
    public BookingPeriod BookingPeriod { get; set; }
}

将 a作为参数传入时,如何将 的内容BookingSummary转换为新PersonalisationState类:BookingSummary

private PersonalisationState ConvertBookingSummaryToPersonalisationState(BookingSummary booking)
{
   return(no clue)
}

这可能吗?

标签: c#class

解决方案


您可以通过返回一个具有从输入对象设置的属性的新对象来做到这一点

private PersonalisationState ConvertBookingSummaryToPersonalisationState(BookingSummary booking)
{

   return new PersonalisationState()
   {
           UserType = new UserType()
           {    
                Name = booking.UserType,
                <...>
           } 
   };
}

或者您可以使用https://automapper.org/或类似的映射库


推荐阅读