Ich habe eine generische Klasse vonWie passende Art in der generischen Klasse
public class Mapper<K, L, V> : Dictionary<K, V>
indentify Wenn ich es als
Mapper<string, string, MapSource> Map= new Mapper<string, string, MapSource>();
instanziiert und versuchen und tun
Map["..."].
ist kommt zurück mit Compiler Fehlermeldung von
Der Aufruf ist zwischen den folgenden Methoden oder Eigenschaften nicht eindeutig: 'MinorTesting.XML.Sourcer.Mapper.this [L]' und 'MinorTesting.XML.Sourcer.Mapper.this [K]'
Wie würde ich das beheben? um das Kompilieren zu entfernen.
Bob.
FYI es eine schlechte Programmierpraxis ist vereinen einen generischen Typ, so dass unter angemessenen Konstruktionen gibt es Signaturen, die zu erklären.Es gibt Situationen, in denen dies zu implementierungsdefiniertem Verhalten in der CLR führt. Vermeiden, vermeiden, vermeiden. Konstruieren Sie Ihren Typ niemals so, dass eine Signatur vereinheitlicht wird, oder, falls es beabsichtigt ist, eine -Map zu haben, dann gestalten Sie die öffentliche Oberfläche der Klasse so, dass Methoden, die vereinheitlichen würden, unterschiedliche Namen haben. –
Danke Eric, ich habe es schließlich aufgegeben. Eine einfachere Lösung bot sich an. –