3 Stimmen

Casting einer System.Func<T>

Ich überarbeite gerade einen Code, der das folgende Konstrukt verwendet. Was ich gerne tun möchte, ist, dies generisch zu machen, damit ich andere Parametertypen in der Func.

IDictionary<string, Func<Employee, string>>

Ich habe es versucht:

IDictionary<string, Func<Object, string>>

Dann werfen Sie es zurück:

(IDictionary<string, Func<Object, string>>)myDictionary

Aber ich erhalte eine Ausnahme, die besagt, dass ich nicht in der Lage bin, zu werfen

Objekt vom Typ 'System.Collections.Generic.Dictionary' kann nicht gecastet werden 2[System.String,System.Func 2...

Ich war herumspielen mit Generika, aber das scheint nur, um mich so weit wie ich nicht in der Lage, Setup und generisches Feld auf meine Klasse zu bekommen

private IDictionary<string, Func<T, string>> lineSpecification;

Ich habe mich im Kreis gedreht, also wäre ich für jeden Hinweis dankbar.

EDIT:

Dies ist die vollständige Ausnahmemeldung, die ich erhalte:

System.InvalidCastException : Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Func`2[DataObjects.Employee,System.String]]' to type 'System.Collections.Generic.IDictionary`2[System.String,System.Object]'.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X