37 messaggi dal 08 agosto 2008
Ho creato un'interfaccia fluent per la creazione di alcuni oggetti e sto provando a modificarla usando i generics ma ho un problema alla fine quando provo a richiamare il costruttore dell'oggetto:

public class OggettoBaseFactory
{
..... // Logica della factory fluent che popola le proprietà
public T Crea<T>()
    {
      return (T)Activator.CreateInstance(typeof(T), this);
    }
}


Questo è uno degli oggetti che vorrei creare con la factory generica:

public class Societa : OggettoBase
  {
   //è privato ma anche mettendolo pubblico da lo stesso errore
    private Societa(){} 

    public Societa(OggettoBaseFactory factory)
    {
      this.Id = factory.id;
      this.Descrizione = factory.descrizione;
      this.Annullato = factory.annullato;
    }
  }


A questo punto io chiamo la mia factory in questo modo:

      Societa actual = OggettoBaseFactory.IniziaCreazione()
                  .ConCodice(idExpected)
                  .ConDescrizione(descrizioneExpected)
                  .Annullato(annullatoExpected)
                  .Crea<Societa>();


Ma nell'invocazione del metodo Crea() mi da questa eccezione:

System.MissingMethodException : Constructor on type 'FunzIA.DL.Oggetti.Societa' not found.

Non riesco a capire cosa mi sfugga

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.