c#: mappe/caste automatisk fra en klasse til en annen

No comments

Ved å lage en ny metode kan vi automatisk konvertere et objekt til et annet.

Uten å måtte caste eller lage egne mapping-funksjoner.

 

Ønsker du kun eksplisitt konvertering kan du bruke nøkkelordet explicit i stedet for i metodedefinisjonen.

 

 

(Denne koden utvider samtidig en klasse som er returnert/generert automatisk fra en Webtjeneste,

og legger til en ny metode på denne vha partial class.

Dersom du skal gjøre det må du passe på at namespacene er like for

klassen i Reference.cs og din utvidede klasse)

 

 

 

Eksempel:

 

namespace BOHjelpeklasser

{

    namespace ProsesserAgent

    {

        /// <summary>

        /// Utvider classen returnert fra ProsesserAgent med hjelpemetoder

        /// </summary>

        public partial class BrukerEntitetExt :Entitet

        {

           

            static public implicit operator BrukerEntitet(BrukerEntitetExt bruker)

            {

                var retur = new BrukerEntitet()

                {

                    arbeidsgiver = bruker.arbeidsgiver,

                    brukerID = bruker.brukerID,

                    epostadresse = bruker.epostadresse,

                    etternavn = bruker.epostadresse,

                    fornavn = bruker.fornavn,

                    host = bruker.host,

                    ID = bruker.ID,

                    IsUptodate = bruker.IsUptodate,

                    poststed = bruker.poststed,

                    rådgivernummer = bruker.rådgivernummer,

                    Tag = bruker.Tag,

                    telefonnummer = bruker.telefonnummer

                };

 

 

                return retur;

            }

        }

     }

 

}

Posted via email from Henris blogg

No comments :

Post a Comment