167 messaggi dal 22 giugno 2008
Innanzi tutto mi scuso xke in realtà ho cominciato questa discussione in un altro thread dal titolo "Web services ed interfaccie" ma andando piu a fondo sul problema mi sono reso conto che la natura della questione è ben diversa e quindi aprire un nuovo thread mi sembra opportuno....

Il problema:



public  class Class2
    {

      public Class2()
      {
          ClassList = new ListOfClass1();
      }

      public string Codice { get; set; }

      //Notare questa proprietà
      public IListOfClass1 ClassList { get; set; }
    }



questa (qui su) è la classe che vorrei serializzare.

poi




public  interface Iclass1
    {
      string Descrizione {get;set;}
    }

  public interface IListOfClass1
  {
 
  }

 public  class Class1:Iclass1
    {
       public string Descrizione
       {
           get;
           set;
       }

    }

   public class ListOfClass1 : List<Iclass1> ,  IListOfClass1
   {
       public ListOfClass1()
       {
           for (int I=0; I < 10; I++)
           {
               this.Add(new Class1 { Descrizione = "Ciao" + Convert.ToString(I) });
           }
       }
   }




queste sono 2 interfaccie con le loro relative implementazioni..

Come vedete Nella "Class2" (la prima che ho postato) c'è una proprietà del tipo "IListOfClass1" (Poco piu su di questo paragrafo).

Il problema è che l'xml serializer non riesce a serializzare "Class2" perchè tra i suoi membri c'è una proprietà di tipo interfaccia..


Come risolvere il problema e serializzare la classe "Class2" senza rimuovere la Proprietà incriminata??
2.193 messaggi dal 30 novembre 2001
a cosa ti serve una interfaccia come proprietà? Solitamente si usano come restituzione di un metodo non di una proprietà.
167 messaggi dal 22 giugno 2008
Dependency Injection!! Se la proprietà è un interfaccia basta fare l'overload del costruttore della classe x passare a quest'ultima tutti i tipi che ti pare (che implementano l'intefaccia in questione si intende).. e nel mio scenario le Dependency Injection sono moooooooooooooooolto importanti.. basta pensare allo unit test(ma non solo.. hai presente i Java Beans).... il problema è che alla fine le classi vanno esposte ad un web service che deve ovviemente serializzarle....

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC