Frage zu LINQ

10/02/2010 - 00:20 von Carsten Posingies | Report spam
Hallo Experten,

ich habe hier einen

IDictionary<KeyValuePair<Guid, string>, object> instanceCatalog

Darauf würde ich gern LINQ ansetzen in einer Methode

public T ExistingInstanceOfType<T>(Guid id)

wobei der string im Dictionary typeof(T).ToString() ist.

Also dachte ich mir was wie

public T ExistingInstanceOfType<T>(Guid id)
{
Func<T> selector = () => (T)
from o in instanceCatalog
where (o.Key.Key == id && o.Key.Value == typeof(T).ToString())
select instanceCatalog[o.Key]);

return selector();
}

Ist das jetzt dummes Zeug oder soweit okay?

Danke wie immer vorab,

Carsten
 

Lesen sie die antworten

#1 Marcel Roma
10/02/2010 - 16:19 | Warnen spam
Am Wed, 10 Feb 2010 00:20:44 +0100 schrieb Carsten Posingies:

Hallo Carsten,

Versuch mal diese Methode:

public static T ExistingInstanceOfType<T>(Guid id)
{
KeyValuePair<KeyValuePair<Guid, string>, object> result =
(from o in m_InstanceCatalog
where ((o.Key.Key == id) && (o.Key.Value == typeof(T).ToString()))
select o).FirstOrDefault();

return result.Value == null ? default(T) : (T)result.Value;
}


Gruss
Marcel

Ähnliche fragen