Torna indietro   Hardware Upgrade Forum > Software > Programmazione

FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7
FRITZ!Repeater 1700 porta il Wi-Fi 7 dual-band nelle case connesse. Mette a disposizione fino a 2.880 Mbit/s su 5 GHz e 688 Mbit/s su 2,4 GHz, integrazione Mesh immediata via WPS con FRITZ!Box e funzioni smart come MLO per bassa latenza. Compatto, plug-and-play e pronto per il futuro, è la soluzione ideale per chi vuole coprire ogni angolo senza cavi o complicazioni
Fondazione Chips-IT, l'Italia alla riscossa nei chip. Il piano e la partnership EssilorLuxottica
Fondazione Chips-IT, l'Italia alla riscossa nei chip. Il piano e la partnership EssilorLuxottica
La Fondazione Chips-IT ha presentato a Pavia il piano strategico 2026-2028 per rafforzare l'ecosistema italiano dei semiconduttori. Con un focus su ricerca, design, talenti e infrastrutture, la Fondazione punta a consolidare il ruolo dell'Italia nel Chips Act europeo, sostenendo innovazione, collaborazione industriale e sovranità tecnologica.
Nutanix: innovazione, semplicità e IA al centro della strategia hybrid multicloud
Nutanix: innovazione, semplicità e IA al centro della strategia hybrid multicloud
Al Museo Alfa Romeo di Arese, Nutanix ha riunito clienti, partner ed esperti per .Next On Tour Italia e per mostrare come l’infrastruttura hybrid multicloud possa diventare il fondamento dell’innovazione, con una piattaforma capace di unificare applicazioni tradizionali, moderne architetture cloud-native e nuovi scenari basati sull’intelligenza artificiale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-06-2010, 00:49   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[C# 2.0]Implementazione di List<T>.Sort e .FindAll

Buonasera a tutti

Problemino della nottata:

Devo implementare dei metodi definiti in un'interfaccia, in particolare:

Codice:
List<T> SortedByList(string dataPropertyName);

List<T> GetByName(string dataPropertyName, string filter);
Ora, lasciando perdere il fatto che per me avrebbe avuto più senso una cosa del genere:

Codice:
//interfaccia
List<T> GetEntityList();

//classe : interfaccia
List<T> GetEntityList()
{
     blablaCode;
     return someList;
}

//.....
List<Pippo> lista = classe.GetEntityList();
lista.FindAll(delegate(Pippo p1) 
       {
             return p1.SomeProperty.Contains(someString);
       });

//e fare lo stesso per Sort(delegate (Pippo p1, Pippo p2) { return CompareTo etc....

vabbè... già è tantissimo che mi pagano per imparare

ad ogni modo, non riesco a comprendere come implementare l'interfaccia in una classe generica, per es.:

Codice:
List<T> GetByName(string dataPropertyName, string filter)
{
     List<T> filteredList = base.GetEntityList();
     filteredList.FindAll(
             delegate(typeof(T))
             {
                  return typeof(T).GetProperty(dataPropertyName) <- qui il mio pensare si ferma...
             });
     return filteredList;
}
Si ferma perchè non ho disponibilità di un metodo "Contains".

Grazie a tutti


RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2010, 09:00   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
La notte porta consiglio (spero che sia quello giusto....)

Codice:
public List<T> GetByName(string dataPropertyName, string filter)
{

     List<T> filteredList = base.GetAll();
     PropertyInfo pInfo = typeof(T).GetProperty(dataPropertyName);
     filteredList.FindAll(
       delegate(T t)
       {
           return pInfo.Name.Contains(filter);
       });
       return filteredList;
}

EDIT:

Ho sognato male evidentemente
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek

Ultima modifica di RaouL_BennetH : 18-06-2010 alle 09:08.
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2010, 11:41   #3
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
up
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2010, 13:11   #4
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Ho finalmente risolto mediante un Predicate<T>

Codice:
private string dataPropertyName;
private string filter;

public List<T> FilterdList(string dataPropertyName, string filter)
{
    this.dataPropertyName = dataPropertyName;
    this.filter = filter;
    List<T> filteredList = baseList.Getall();
    return filteredList.FindAll(PredicateTest);
}

private bool PredicateTest(T obj)
{
    return obj.GetType().GetProperty(dataPropertyName).GetValue(obj, null).ToString().Contains(filter);
}
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek

Ultima modifica di RaouL_BennetH : 19-06-2010 alle 13:46.
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
Fondazione Chips-IT, l'Italia alla riscossa nei chip. Il piano e la partnership EssilorLuxottica Fondazione Chips-IT, l'Italia alla riscossa nei ...
Nutanix: innovazione, semplicità e IA al centro della strategia hybrid multicloud Nutanix: innovazione, semplicità e IA al ...
Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il notebook gaming 'budget' che non ti aspetti Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il n...
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Ecco la lista degli articoli più ...
Amazon meglio degli store digitali: Batt...
Dal Giappone un altoparlante portatile i...
OPPO Find X9: compatto, razionale e senz...
Questo PC portatile gaming è un vero mos...
NVIDIA si prende Slurm: con l'acquisizio...
DHRUV64: primo processore RISC-V dual-co...
Tineco e Dreame di nuovo in offerta: le ...
Amazon Haul rilancia: sui nuovi arrivi s...
Il prezzo della Steam Machine potrebbe e...
Ratti con una postazione da gaming enthu...
Samsung Galaxy S26: a causa dell'IA potr...
Xiaomi esagera: in arrivo uno smartphone...
La crisi delle memorie colpirà an...
I giovani russi non ci stanno: ondata di...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:51.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v