Generisches GetT für MemoryCache (oder einen beliebigen Cache) implementieren

8

Ich versuche ein "einfaches" Generisches Get & lt; T & gt; Erweiterung für System.Runtime.MemoryCache

Warum "einfach"? Da ich den realen Typ des Objekts im Allgemeinen kenne, bevor ich es zwischenspeichern kann, werde ich es, wenn ich es aus dem Cache abrufe, nicht in unvorhersehbarer Weise konvertieren.

Zum Beispiel: wenn boolescher "wahrer" Wert im Cache mit cacheKey "id" gespeichert ist, also

%Vor%

Hier ist meine unvollständige Implementierung:

%Vor%

Alle Vorschläge werden sehr geschätzt.

====================================

Update (11.04.2016):

Für diese netten Vorschläge implementiere ich meine erste Version von Get & lt; T & gt;

%Vor%     
ineztia 07.04.2016, 04:02
quelle

2 Antworten

1

Die wesentliche Arbeit besteht darin, einen CastValue & lt; T & gt; um irgendein Objekt in den gewünschten Typ zu konvertieren. Und es muss nicht sehr komplizierten Zustand behandeln, weil Objekttypen im Cache für den Programmierer vorhersehbar ist. Und hier ist meine Version.

%Vor%     
ineztia 08.04.2016, 23:29
quelle
2

Vorschlag:

%Vor%

Verwendung (angenommen, Sie haben eine ID vom Typ int im Cache):

%Vor%

Ich habe es nicht getestet.

    
Stefan Steinegger 08.04.2016 07:51
quelle