Domanda

Sto cercando di implementare le mie classi persistenti usando le interfacce. Ho creato il seguente

public interface IFoo
{
    int Id {get;set;}
}

public class Foo : IFoo
{
    private int _id;

    public int Id {get{return _id;} set{_id = value;}}
}

public interface IBar
{
    int Id {get;set;}
    IFoo Foo {get;set;}
}

public class Bar : IBar
{
    private int _id;
    private IFoo _foo;

    public int Id {get{return _id;} set{_id = value;}}
    public IFoo Foo {get{return _foo;} set{_foo = value;}}
}

È possibile indicare che Foo è una classe valida e usarlo per impostazione predefinita, non voglio usare il database per memorizzare il tipo di classe.

Grazie

Rohan

È stato utile?

Soluzione 3

dopo aver letto la guida di Telerik ho pubblicato una domanda sul loro forum ...

Utilizzo delle interfacce senza memorizzare il tipo di classe nella banca dati

Sembra che non sia possibile.

Altri suggerimenti

La colonna descrittore è sempre necessaria perché OpenAccess non sa se potrebbero esserci implementazioni più valide in seguito. Quello che puoi fare è usare un riferimento Foo diretto come campo privato ed esporlo come proprietà Interface. L'eccezione del cast di classe nel setter potrebbe aiutarti a trovare i luoghi in cui è impostato un oggetto sbagliato.

Spero che aiuti,

Jan

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top