Różne sposoby mapowania obiektów

0

Cześć,

Robię bibliotekę i zastanawiam się jak można mapować jedne obiekty na drugie.
Przykładowo obiekt z odpowiedzi jednego z serwisów na własny obiekt ResultA -> ResultB:

    public class ResultA
    {
        public string MessageId { get; set; }

        public string Recipient { get; set; }

        public string PartsNo { get; set; }

        public string Cost { get; set; }

        public string Status { get; set; }

        public string SentDate { get; set; }

        public string Error { get; set; }
    }

ResultB

publicclass ResultB
    {
        public string Id { get; set; }

        public string Points { get; set; }

       public string Number { get; set; }

        public string Date_sent { get; set; }

         public string Submitted_number { get; set; }

        public string Status { get; set; }

        public string Error { get; set; }

        public string Idx { get; set; }

Tak jak mówiłem jest to biblioteka więc wolałbym unikać zewnętrznych zależności takich jak automapper.
Zwykłego przypisywania z ResultA na ResultB też chciałbym uniknąć, Czy jest jakaś inna możliwość, nadpisywanie castowania np:

var resultA = (ResultA)ResultB

Tak aby nie tracić wartości, które normalnie się nie zmapują, ze względu na inne nazwy?

0
mlody18 napisał(a):

Czy jest jakaś inna możliwość, nadpisywanie castowania np:

var resultA = (ResultA)ResultB

Tak aby nie tracić wartości, które normalnie się nie zmapują, ze względu na inne nazwy?

Jasne, że jest:

public static explicit operator ResultA(ResultB b)
{
    return new ResultA { MessageId = b.Id /* itd */ };
}

Tylko jakby mi ktoś takie coś w projekcie zrobił, to odrzucenie PR byłoby najmniejszą krzywdą.

1 użytkowników online, w tym zalogowanych: 0, gości: 1