C # -konstruktør ved hjelp av et dynamisk vs grensesnitt som parameter

Til fordel for å lage ren frakoblet kode i c # håpet jeg å få tilbakemeldinger om å bruke en dynamisk parameter for å konstruere objekter. Jeg tror vanligvis du vil lage et grensesnitt og bruke grensesnittet som kontrakt, men da må du lage grensesnitt for alle klassene dine, som jeg synes er litt icky ...

Så spørsmålet mitt er hva er fordelene og ulemper med å gjøre noe som dette:

class Class1
{
    public string Description { get; set; }
    public string Name { get; set; }

    public Class1(dynamic obj)
    {
        Name = obj.Name;
        Description = obj.Description;
    }
}

vs

class Class1
{
    public string Description { get; set; }
    public string Name { get; set; }

    public Class1(IClass1 obj)
    {
        Name = obj.Name;
        Description = obj.Description;
    }
}
5
задан TrueWill 25 May 2011 в 17:43
поделиться