Pagina 2 di 5 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 58

Hybrid View

  1. #1
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Quote Originariamente inviata da jabjoint Visualizza il messaggio
    Probabimente non è semplice allora come credevo.
    Vediamo se riuscite a capire od io a spiegarmi meglio.
    Dipende: se provi a rispondere alle domande che ti vengono poste, forse qualcosa si capisce, ma se continui a ignorarle e a dire quello che ti passa per la testa senza alcun contesto, ne dubito.

    Quote Originariamente inviata da jabjoint Visualizza il messaggio
    Ma a me occorrono fortunatamente solo le proprietà di ogni classe C che qui sta per Articoli.
    Sorvolando sul fatto che questa cosa non ha senso e sembra anche uno scioglilingua ("classe C per articoli", ma che vuol dire?), stai sempre tentando di spiegare dettagli riguardo la soluzione farraginosa e probabilmente non utile a cui hai pensato riguardo un problema che ti si continua a chiedere ma che invece non vuoi descrivere, quantomeno non in lingua italiana o comprensibile, il quale può essere magari facilmente risolto in un altro modo che non richiede assolutamente gli strumenti e gli accrocchi che stai mettendo in piedi, e per esperienza posso dire che al 99,9% la questione sta in questi termini.

    Quote Originariamente inviata da jabjoint Visualizza il messaggio
    Non so se è obbligatorio, ma generalmente per accedere alle precise proprietà di un oggetto occorre convertire l'oggeto generico che nell'esempio è objX nel oggetto particolare di cui si vogliono le proprietà.
    Altrimenti come dici tutto si complica, e dovrei scartare tutte le proprietà inutili.
    Se accedi alle proprietà scrivendo codice del tipo obj.Property, sì, ma tu stai usando la Reflection, per non si sa quale motivo peraltro, che invece non ha questi requisiti in quanto - appunto - è una API fatta apposta per prescindere dalla tipologia degli oggetti, che vengono ispezionati tramite altri oggetti che li descrivono.

    Quote Originariamente inviata da jabjoint Visualizza il messaggio
    Ovviamente ho più classi Articoli(DbSet<Articoli>), ma il concetto rimane quello.
    Ma quale concetto? Sai cos'è una classe? Articoli(DbSet<Articoli>) non è una classe, ma il nome di una classe con delle parentesi e all'interno il nome di un'altra classe, che non ha alcun senso sintatticamente parlando e non si capisce a cosa serva, né evidenzia quale sia lo scopo finale di tutto ciò, ribadisco.

    Quote Originariamente inviata da jabjoint Visualizza il messaggio
    Non penso che nel 2023 queste cose siano irrisolte o poche funzionanti/ottimizzate
    Di cose irrisolte non ce ne sono, questo è sicuro.
    Se appaiono irrisolte, può essere che lo siano in quanto non in grado di supportare la soluzione senza senso che stai portando avanti e che non vuoi descrivere.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Quote Originariamente inviata da jabjoint Visualizza il messaggio
    @U235:



    Probabimente non è semplice allora come credevo.

    Vediamo se riuscite a capire od io a spiegarmi meglio.

    La tua potrebbe essere una soluzione.

    Ma a me occorrono fortunatamente solo le proprietà di ogni classe C che qui sta per Articoli.

    Non so se è obbligatorio, ma generalmente per accedere alle precise proprietà di un oggetto occorre convertire l'oggeto generico che nell'esempio è objX nel oggetto particolare di cui si vogliono le proprietà.
    Altrimenti come dici tutto si complica, e dovrei scartare tutte le proprietà inutili.

    Ovviamente ho più classi Articoli(DbSet<Articoli>), ma il concetto rimane quello.
    Non penso che nel 2023 queste cose siano irrisolte o poche funzionanti/ottimizzate
    Ok, il punto è: come vuoi poi utilizzare "y" del tuo esempio? se non conosci a priori cosa chiamare di y perché non è noto in compilazione, allora giustamente non ti serve fare poi il cast senza conoscere che fare con quell'oggetto... Mi potresti rispondere (suppongo... ma è questo quello su cui mi sembra che sia reticente) che tutte le classi hanno una proprietà "ID" di tipo int, in questo caso qualsiasi classe creata a partire da una tabella avrà la proprietà ID, quindi tu da "y" vuoi ricavare l'ID (a prescindere dal tipo, che sia Articoli oppure Ordini). In questo caso ci sarebbe una spiegazione, ma il modo migliore di ottenerlo è diverso da quello che stai pensando tu, ovvero si dovrebbe creare una classe base la quale andrebbero ad ereditare tutte le entità (tabelle), e tu fai il cast alla classe base. Puoi anche utilizzare le interfacce al posto di classi base, in questo modo potrai lavorare con più "derivazioni" o se ad esempio le classi già ereditano da altre classi. In ogni caso a quel punto il cast lo fai sulla classe base o sull'interfaccia e non sul tipo derivato, in quanto il tipo derivato lo dovresti conoscere in compilazione per poter fare il cast come intendi farlo tu. Da li nasce poi tutto il resto, tra cui anche sfruttare la reflection, ma soprattutto i Generics.
    Ultima modifica di U235; 10-05-2023 a 12:04

  3. #3
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Quote Originariamente inviata da jabjoint Visualizza il messaggio
    Ciao, chiedo gentilmente se è possibile in C#, ottenere una Classe dal suo nome:

    <non l'istanza>, ma la classe proprio.

    Sarà banale penso,
    Faccio un esempio:

    codice:
    List<String> lista;
    Io non so che Classe sta al posto di "String", ma conosco il nome della classe.

    Grazie per eventuali risposte.


    Dal momento che parli a monosillabe e sei reticente a dare qualche spiegazione in più, accetta il fatto che anche chi ti risponde potrebbe essere irritato o povero di comprensione o risposte.
    Dal momento che stai mettendo una marea di post che girano intorno ad un qualcosa che mi pare di capire bene dove voglia andare a parare ma non ti esprimi, lascerò che ci arrivi da solo...

    Questo per rispondere alla tua domanda:
    codice:
    //Test
    Console.WriteLine(typeof(List<Test>).GetGenericArguments().First().Name);
    //oppure
    Console.WriteLine(typeof(List<Test>).GetGenericArguments()[0].Name);
    //Test1
    Console.WriteLine(typeof(Dictionary<Test,Test1>).GetGenericArguments().Last().Name);
    La risposta è semplice, ma il problema verrà dopo, quando arriverai a dover fare le cose "pulite" ed efficienti.
    Se poi vuoi parlare di quello che stai cercando di fare, potrei darti più informazioni e magari aiutarti (io ed eventualmente i miei colleghi). Ad esempio dovresti fare ricerche su una parola chiave: Generics. Ma quello che ruota intorno non è immediato. Comunque vedi tu.
    Ultima modifica di U235; 10-05-2023 a 10:31

  4. #4
    @jabjoint, perché hai più classi Articoli?

  5. #5
    Quote Originariamente inviata da optime Visualizza il messaggio
    @jabjoint, perché hai più classi Articoli?
    Oggetti non classi, ho sbagliato.
    jabjoint

  6. #6
    quindi hai solo una classe Articoli?

  7. #7
    @jabjoint, quindi hai solo una classe Articoli?

  8. #8
    ci riprovo, che te vai a sape' che ottengo risposta

    @jabjoint, quindi hai solo una classe Articoli?


  9. #9
    Quote Originariamente inviata da optime Visualizza il messaggio
    ci riprovo, che te vai a sape' che ottengo risposta

    @jabjoint, quindi hai solo una classe Articoli?

    Ciao si per quel che so e' una. Scusami ma ero impegnato
    jabjoint

  10. #10
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Visto alcuni post, spero che questa discussione si possa "terminare" senza i soliti attacchi reciproci, a prescindere da chi abbia ragione o torto. Non credo che ci sia bisogno di rispondere a tutti i costi se qualcuno ci sembra che ci manchi di rispetto, basta lasciare cadere alcune affermazioni.
    Poi ovviamente ognuno è libero di fare come crede.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.