Laden...
H
hornetbiker_1979 myCSharp.de - Member
Entwickler (Systemintegration, Individual SW, DB) Österreich Dabei seit 20.05.2007 51 Beiträge
Benutzerbeschreibung

Forenbeiträge von hornetbiker_1979 Ingesamt 51 Beiträge

18.06.2012 - 06:23 Uhr

Hallo,

Hoffe ich poste hier im richtigen Forum - verwendetes DB System ist SQL Server wobei ich nicht glaube dass es bei meinem Problem etwas zur Sache tut.

Ich schreibe meine erste Silverlight Applikation und verwende hierfür das EF + RIA Services. Nun zu meinem Problem:
Im Prinzip sieht mein "ER Diagram" so aus, dass ich eine Header Tabelle habe zu der es mehere Positionen bzw. Details gibt (also 1-n Beziehnung).
Ich würde gerne beim anzeigen der Header Information eine Summe aus den Positionen bilden und diese im GUI anzeigen - hierzu habe ich die Header Klasse mit Hilfe einer Partial Class um ein Property Summe erweitert. Beim ersten Anzeigen funktioniert alles recht gut - doch wenn ich etwas in den Positionen ändere wird dieses Property nicht neu gerechnet - und somit das GUI nicht aktualisiert.

Wie kann ich feststellen ob sich etwas in den Details geändert hat und somit die Berechnung erneut durchführen - oder bin ich generell auf dem Holzweg?

Danke für eure Hilfe

Gruß

20.07.2011 - 07:55 Uhr

Hi,

Du musst die Procedure so "Begin P1.F1(:inputparam, :result); end;" aufrufen.

Man unterscheidet zwischen Outputparameter (ParameterDirection.Output) und dem Return einer Function (ParameterDirection.ReturnValue).
Sollte es in deinem Fall ein ReturnValue sein musst du die Procedure so aufrufen
"Begin P1.F1(:inputparam); end;"

So sollte es funktionieren:


OracleCommand cmd = new OracleCommand("Begin P1.F1(:inputparam, :result); end;", oc);
cmd.CommandType = CommandType.StoredProcedure;

OracleParameter par = new OracleParameter("inputparam", OracleDbType.Number);
par.Value = inputparam;
par.Direction = ParameterDirection.Input;
cmd.Parameters.Add(par);

cmd.Parameters.Add( new OracleParameter("result", OracleDbType.Number)).Direction = ParameterDirection.Output;

cmd.ExecuteNonQuery();
result = Convert.ToInt32(cmd.Parameters["result"].Value.ToString()); 

01.03.2011 - 07:05 Uhr

Hallo,

Bin mir nicht ganz sicher wie ich die Frage formulieren soll - es geht darum wie ich eine Anwendung welche eine DB als Backend hat aufbaue - im detail geht es mir um die Trennung von "Entitiy" Klassen und dem Datenzugriff.

Ich habe z.B. eine Tabelle
Angesteller mit den Attribubten, Id, Vorname, Nachname, Eintrittsdatum
und eine zweite Tabelle Projekte mit den Attributen Id, Projektname und geplantes Ende. Und eine Tabelle ProjektXAngestellter in der festgehalten wird welcher Mitarbeiter an welchem Projekt arbeitet(e) - Attribute sind hier FK_Projekt_Id, FK_Angestellter_Id

Bisher habe ich immer die Attribute der Tabelle 1:1 in die Klassen übernommen. d.h.


public class Angestellter
    {
        public int Id{ get; set; }
        public String Vorname { get; set; }
        public String Nachname { get; set; }              
        public DateTime Eintrittsdatum{ get; set; }              
    } 

public class Projekte 
    {
        public int Id{ get; set; }
        public String Projektname { get; set; }
        public DateTime GeplantesEnde{ get; set; }              
    } 

Zusätzlich zu den Entity Klassen habe ich einen Datenadapter mit den Methoden
IList<Angestellter> GetAllFromAngestellter()
IList<Projekte> GetAllFromProjekte()
IList<Projekte> GetProjekte(Angestellter angesteltter)

Was ich an dem Ansatz unschön finde ist das wenn ich die Projekte an welchen ein Mitarbeiter arbeitet sehen möchte muß ich die Methode GetProjekte aufrufen.
Wenn ich die Projekte dem Mitarbeiter nicht zuordne verliere ich die Information wieder und ich muß beim nächsten mal wieder die Methode aufrufen die dann wieder (sofern nicht gecached wird) gegen die Datenbank abfragen.

Meiner Meinung nach wäre eine Alternative ein zusätzliches Property (IList<Projekte) in Angestellter zu schreiben - da stellt sich mir jedoch die Frage wann befülle ich die Liste?

Mir ist bekannt dass es OR Mapper gibt mit Lazy Loading usw. - mich würde aber eure / eine Lösung mit einem "klassischen" DatenAdapter interessieren.

Vorab Danke für euren Input!

beste Grüße
biker

05.08.2010 - 09:49 Uhr

O.K. ich glaube ich habs verstanden ich habe mich in dem Gedanken verlaufen das T immer AbstractBaseClass ist - und ich alles als T verwenden kann was davon abgeleitet ist.
Das stimmt natürlich nicht da ich z.B. in eine List<AClass> nicht BClass hineinstopfen kann

Bestenk Dank!!

Edit: Wie kann ich den Beitrag als gelöst markieren?

05.08.2010 - 09:39 Uhr

Ja aber nachdem auch BClass von AbstractBaseClass abgeleitet wäre müsste doch ein casting möglich sein!?

05.08.2010 - 09:12 Uhr

Hallo,

Hier die Klassen um die es geht - ist nur eine Testklasse um mein VErständnis zu erhöhen 😃


public class GenericClass<T> where T : AbstractBaseClass
    {
        private IList<T> list;

        public GenericClass()
        {
            list = new List<T>();
        }

        public void Add(T t)
        {
            list.Add(t);            
        }

        public T Add()
        {
            T x = new AClass();
            return x;
        }

        public IList<T> List
        {
            get { return list;}
        }
    }

    public class AClass : AbstractBaseClass
    {
        public String ToStringA()
        {
            return "AClass";
        }
    }


Problem ist folgende Zeile: T x = new AClass();
Hier bekomme ich den Fehler Cannot implicitly convert type 'AClass' to 'T' ich würde es ja verstehen wenn ich kein Constraint auf T gesetzt hätte.
Da aber ein Constraint auf T -> AbstractBaseClass und die Klass AClass von AbstractBaseClass ableitet - verstehe ich nicht warum dieser Fehler auftritt.

Bitte um Hilfe und Lösungsvorschläge.

Danke!

02.06.2010 - 06:58 Uhr

Hallo,

Habe das Problem gelöst - naja nicht wirklich - aber zumindest weiß ich nun warum das Upgrade nicht funktioniert.

Es ist so wie ich in meinem letzten Beitrag geschrieben habe. Dadurch wir jede neue Version in ein eigenes Verzeichnis stellen erkennt ".Net" nicht dass es sich um das selbe Programm handelt weshalb es auch die alten Settings nicht findet.

Abhilfe würde das Kompilieren mit einem StrongName schaffen - soweit ich dass Verstanden habe - müssten allerdings alle referenzierten Assemblies ebenfalls signiert werden (zumindest meckert VS2008 dass das nicht so ist 😭)

Zur Erklärung: Kompilieren mit StrongName macht eine Assembly eindeutig identifizierbar.

Greetnx
Biker

28.05.2010 - 11:41 Uhr

Hallo,

Danke für deine Hilfe - glaube ich habe das Problem erkannt.

Wenn eine neue Version deployed wird - wird diese in eine neues Unterverzeichnis kopiert entsprechend der Version.
Also das Verzeichnis sieht so aus:
<Applikationsname>
<V 1.0.0>
<V 1.1.0>
<V 1.2.0>
usw.

Und ich habe den schlimmen Verdacht dass in den Pfad in dem die Konfigurationsdatei abgelegt wird - auch der Pfad einfliesst in dem die Applikations selbst liegt.

Wenn ich z.B. die Version 1.1.0 in das Verzeichnis V 1.0.0 kopiere funktioniert der Upgrade - und alle Einstellung bleiben erhalten.

Edit: Kann das jemand bestätigen bzw. dementieren?

lG
biker

28.05.2010 - 11:21 Uhr

Weiß ich - macht er aber trotzdem nicht X(

Sonst eine Idee ?(

28.05.2010 - 11:07 Uhr

Hallo,

Habe das genau so implementiert - funktioniert jedoch nicht 😦

Kann ja nicht daran liegen dass ich nicht das Default Settings File verwende, sondern ein zum Projekt manuell hinzugefügtes - oder?

28.05.2010 - 10:33 Uhr

Hallo,

Ich habe eine Settings Datei diese entählt sowohl Applicaton Settings als auch User Settings.
Der User hat in der Applikation (WinForms) die Möglichkeit sich Favoriten von bestimmten Dingen zu sammeln diese werden in einem dieser User Settings gespeichert.

Wenn ich nun eine neue Version der Applikation deploy - dies erfolgt über ein Share - und der Benutzer das erste mal die Applikation öffnet wird die "Settings".Upgrade() Methode aufgerufen. Nach dem Upgrade sind alle User Einstellungen verloren.

Jemand eine Ahnung warum das nicht funktioniert?

lG

07.05.2010 - 06:29 Uhr

Hallo,

Das liegt daran das .Net 3.5 "nur" eine Erweiterungen zu .Net 2.x ist.

http://www.west-wind.com/Weblog/posts/289139.aspx

Grüße

24.03.2010 - 12:26 Uhr

Offensichtlich macht es der Suchbegriff aus 😉)

Danke - das sieht vielversprechend aus!

24.03.2010 - 06:10 Uhr

Hallo,

Glaube ich habe mich dazu früh gefreut..irgendwie bekomme ich das nicht hin. Trotz des "Adorner" Hinweises weiß ich nicht so recht wo ich Anfangen soll.

Gibt es eine Methode mit der ich bei einem Even (Click) "Adorner" zeichnen lassen kann?

Grüße
Biker

24.02.2010 - 07:48 Uhr

Hallo,

Nachdem die eingesetzte "Technologie" WinForms ist - habe ich mich für dieses Forum entschieden 😃

Ich würde gerne Workflows graphisch visualisieren - mit "Kästchen" (z.B. Groupbox ) oder etwas ähnlichen.

Der "Container" sollte Controls beinhalten können - und die Verbindung zum nächsten Workflow Step darstellen (z.B. per Pfeil) -

Gibt es für eine solche Anforderung bereits eine Lib?

bG
Biker

25.01.2010 - 08:42 Uhr

Supi - Danke jetzt weiß ich auch wonach ich suchen muss -> Adorner 😃)

25.01.2010 - 06:28 Uhr

Hallo,

Gibt es die Möglichkeit ein Control (Textbox, Label,...) durch Click zur Laufzeit zu markieren?
Es sollte dann so aussehen wie zu Desingzeit im VisualStudio.

Beste Grüße
hornet

19.01.2010 - 07:53 Uhr

Hallo,

Nein ich musste keinen Code Anpassen, lediglich die Referenz aktualisieren.

19.01.2010 - 07:10 Uhr

Hallo,

Ich habe (unter anderem) eine WinForm entwickelt welche nun KOnzernweit eingesetzt werden soll. Konzernweit bedeutet dass diese auch in anderen Ländern eingesetzt werden soll. Leider unterscheidet sich die Infrastruktur zu der, für die die Applikation entwickelt wurde.

Einer der Unterschiede ist z.B. der Oracle Client (9.x vs. 10.x) im Moment lösche ich die Reference im Visual Studio und referenziere die gerade benötigte DLL neu (entweder 9 oder 10) erstelle ein Release und deploye.

Versioniert ist das Projekt in VSS - in Zukunft eventuell in SVN.

Gibt es eine Möglichkeit 2 Version der Applikation im VSS bzw. SVN zu haben und diese "parallel" zu entwickeln?

Besten Dank für eure Hilfe!

29.09.2009 - 08:35 Uhr

Hallo Leute!

Ich bin am verzweifeln - ich versuche seit 3 Tagen ein WebService (Blackbox) anzusprechen - doch entweder das WebService kann mit dem Request nix anfangen (MTOM) oder der Client kann mit dem Response nicht umgehen (Text)

Konfiguriere ich das Binding dahingehenf das messageEncoding="Text" ist - dann kann das TargetWebService (welches eine Java Implementierung sein dürfte) damit umgehen - es liefert aber einen ContentType"multipart/releated application/xop+xml" zurück - womit WCF anscheinend nicht umgehen kann.

Setze ich messageEncoding="Mtom" wird die Inline Reference nicht gefunden

Hier der Request


Content-ID: <http://tempuri.org/0>
Content-Transfer-Encoding: 8bit
Content-Type: application/xop+xml;charset=utf-8;type="text/xml"

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><publish><in0>in0</in0><in1>in1</in1><in2>in2</in2><in3>in3</in3><in4><xop:Include href="cid:http%3A%2F%2Ftempuri.org%2F1%2F633898093028224366" xmlns:xop="http://www.w3.org/2004/08/xop/include"/></in4></publish></s:Body></s:Envelope>
--uuid:9514ee29-f129-4078-b9d2-036550e1a8d2+id=1
Content-ID: <http://tempuri.org/1/633898093028224366>
Content-Transfer-Encoding: binary
Content-Type: application/octet-stream

<?xml version="1.0"?><Test><KeyValue>Test Test Test</KeyValue></Test>
--uuid:9514ee29-f129-4078-b9d2-036550e1a8d2+id=1--

und hier der Auszug des Response


------=_Part_19446_31263885.1254205720906
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: 8bit
Content-ID: <soap.xml@xfire.codehaus.org>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Could not find the attachment cid:http%3A%2F%2Ftempuri.org%2F1%2F633898093028224366</faultstring></soap:Fault></soap:Body></soap:Envelope>
[Tue Sep 29 08:21:43 CEST 2009]
2f

------=_Part_19446_31263885.1254205720906--

Die Inline Reference wird von .Net automatisch erzeugt - ist es möglich diese manuell zu setzen?
Wo kann der Namespace (http://tempuri.org) konfiguriert werden?
Ich habe gelesen das es die Möglichkeit eines CustomEncoders gibt - habe jedoch keine Beispiele dafür gefunde - auch darüber wäre ich sehr dankbar 😃

Wenn ich das Service mit SoapUi teste funktioniert alles problemlos

Hier der Request


------=_Part_0_17464288.1254205140786
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: 8bit
Content-ID: <rootpart@soapui.org>

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
   <soapenv:Header/>
   <soapenv:Body>
      <publish>
         <in0>in0</ecod:in0>
         <in1>in1</ecod:in1>
         <in2>in2</ecod:in2>
         <in3>in3</ecod:in3>
         <in4><inc:Include href="cid:402630095045" xmlns:inc="http://www.w3.org/2004/08/xop/include"/></ecod:in4>
      </publish>
   </soapenv:Body>
</soapenv:Envelope>
------=_Part_0_17464288.1254205140786
Content-Type: text/xml; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-ID: <402630095045>

<?xml version="1.0"?><Test><KeyValue>Test Test Test</KeyValue></Test>
------=_Part_0_17464288.1254205140786--

und der Response:


------=_Part_19444_23000616.1254205564171
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: 8bit
Content-ID: <soap.xml@xfire.codehaus.org>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><publishResponse><out>0</out></publishResponse></soap:Body></soap:Envelope>
------=_Part_19444_23000616.1254205564171--

Besten Dank für eure Hilfe!

lG

30.07.2009 - 14:40 Uhr

Hallo allerseits 😃

Zuerst mal es handelt sich bei dem Versuch um meinen ersten Schritt in der WPF Welt 😃

Ich hab ein Object das eine Property "Bild" vom Typ Image hat und versuche verzweifelt dieses Bild in WPF an ein Image - Control zu binden.
Finde aber keine Möglichkeite das Image in eine ImageSource umzuwandeln.

Wo liegt der Denkfehler bzw. was mache ich falsch?

Besten Dank für eure Unterstützung

Greetnx

06.04.2009 - 07:32 Uhr

Hallo!

Schau mal ob der DB Server in der Datei <OracleClient>\network\ADMIN\tnsnames.ora eingetragen ist.

Gruß

17.11.2008 - 14:40 Uhr

Hallo!

Bitte die Exception in das Posting kopieren.

Hast du "nur" die Oracle Clients installiert oder auch die ODP.Net Provider?

Gruß

03.10.2008 - 06:36 Uhr

Hallo!

So sollts funktionieren, sofern ich dich richtig verstanden habe


List<String> s = new List<string>();
string[] arr = s.ToArray();
string.Join("\n", arr); 

Gruß
Biker

03.09.2008 - 09:05 Uhr

Hallo!

Google sagt Server.MapPath("~") damit solltest du den Pfad bekommen.

Warum schreibst du deine Konfiguration nicht in die web.config?

Gruß

26.05.2008 - 15:03 Uhr

Hallo!

Wie geht der InternetExplorer vor wenn ein Post Request abgesetzt wird (welches Encoding,... wird verwendet)

Hintergrund der Frage:
Ich habe ein Service welches per WebClient Klasse einen Request absetzt, bei diesem Request werden die Zeichen in der Zielplattform nicht korrekt dargestellt (Encoding Problem)
Wenn ich den selben Link (mittels Copy&Paste) im InternetExplorer eingebe werden die Daten im Zielsystem korrekt dargestellt.

Wer/Was macht den Unterschied?

Vielen Dank für eure Hinweise.

Grüße

24.04.2008 - 15:15 Uhr

Hallo!

Gibt es eine Möglichkeit ein Treeview nicht nach unten sondern nach oben aufzuklappen? Hoffe die Beschreibung ist halbwegs verständlich 🙂

Vielen Dank für eure Hinweise!

Grüße

18.01.2008 - 08:33 Uhr

Wie lautet die Fehlermeldung?

20.11.2007 - 12:15 Uhr

Das Event AfterRowRegionScroll müsste das richtige sein.

04.10.2007 - 06:27 Uhr

Hallo!

Gibt es ein Möglichkeit das Ergebnis bwz. den regulären Ausdruck zu invertieren, d.h. gib mir nicht das was match sondern das was nicht dem Ausdruck enstpricht.

03.10.2007 - 15:49 Uhr

Hallo!

Ich habe folgenden regulären Ausdruck [-0-9A-Za-z_ äöüÄÖÜß]*

Wie kann ich jene Zeichen aus einem String bekommen welche nicht dem Ausdruck enstsprechen?

Also z.B. "H.a;l+lo" --> Ergebnis: ".;+"

Vielen Dank für eure Hilfe!

Grüße
Peter

19.09.2007 - 07:46 Uhr

Hallo!

Ich habe ein WebService welches eine XML Struktur zurückgibt.

Nun sollte das XML auf der Empfänger Seite validiert werden hierzu sollte die SchemaLocation in dem XML angegeben werden, leider habe ich keine Info gefunden wie das funktionieren könnte.

Als Custom - Attribute im Root funktionierts nicht.

Bin über jeden Hinweis dankbar!

Grüße
Biker

18.09.2007 - 12:40 Uhr

Über folgende Parameter kann man die max Request Length konfigurieren

<httpRuntime maxRequestLength="2097151"/>

03.08.2007 - 09:14 Uhr

Niemand eine Ahnung warum das so ist?

02.08.2007 - 16:21 Uhr

verwendetes Datenbanksystem: Oracle 9.2.07
ODP.Net 9.2.07
.Net Runtime V2.0
OS: XP

Ich versuche mittels OracleCommand Selects abzusetzen und bekomme bei dem zweiten Select immer die Fehlermeldung:
System.AccessViolation: Attempt to read or write protected Memory

Woran kann das liegen?

Bin für jeden Hinweis dankbar da ich mittlerweile schon ziemlich verzweifelt bin.

27.07.2007 - 12:28 Uhr

Hallo!

Mir ist es eigentlich um die ObjectDataSource gegangen die gibt es ja in Forms nicht, gibts hierzu eine alternative?

27.07.2007 - 12:18 Uhr

Hallo herbivore!

Danke für die rasche Antwort.

Meinst du eine BindingSource?

Grüße

27.07.2007 - 12:08 Uhr

Hallo!

Ich habe ursprünglich mit ASP.Net entwickelt und da gab es eine ObjectDataSource welche man an das Grid zur Design Time binden konnte und man sah sofort welche Properties vorhanden sind.

Gibt es in WinForms etwas ähnliches?

Vielen Dank für eure Hilfe!

Grüße

16.07.2007 - 14:10 Uhr

Hab zwar keine Ahnung was ein Wendepunkt ist aber, du soweit ich verstanden habe möchtest du herausfinden, wann eine z.B. aufsteigende Reihe von Messwerten nicht mehr steigt.

Warum überprüfst du die Werte nicht wie oben schon erwähnt, wenn dir das trotzdem zu wenig ist kannst du zusätzlich noch eine absolute / relative Toleranz zum letzten Messpunkt angeben, ist der nächste Wert ausserhalb dieser ist der Wendepunkt erreicht.

11.06.2007 - 06:55 Uhr

Hallo!

Ich weiß das wird dir jetzt nicht direkt weiterhelfen, aber unter Oracle kann man Datumsangabe "truncaten"

z.B.
Datum: 16.02.2007 10:00 / trunc('16.02.2007 10:00','mm') --> Datum: 01.02.2007
Datum: 16.02.2007 10:00 / trunc('16.02.2007 10:00','yyyy') --> Datum: 01.01.2007
Datum: 16.02.2007 10:31 / trunc('16.02.2007 10:00','HH24') --> Datum: 16.02.2007 10:00

Vielleicht gibt es auch eine ähnliche Funktion für den SQL Server

die where Clause würde dann wie folgt aussehen:


where trunc(datumsspalte,'mm') = to_date('01.06.2006','dd.mm.YYYY')

08.06.2007 - 21:23 Uhr

Ich denke du wirst nicht darum herumkommen das gesamte array zu durchlaufen und jede Farbwert zu zählen, was dir hierbei vielleicht helfen könnte ist die Klasse Dictonary<K,V>

Du könntest für jeden Farbwert einen Eintrag im Dictonary machen und beim nächsten auftreten der Farbe den Wert (Value) inkrementieren.

08.06.2007 - 12:36 Uhr

Hallo!

System.Data.SqlClient.SqlParameter ist die Zauberklasse dafür.

Bau dein SQLCommand und verwende in diesem Parameter welchen du anschließend mit SqlParameter Werte zuweist.

Du solltest auf gar keinen Fall ein SQL Statement zusammen konkatenieren, such mal nach dem Stichwort SQL Injection.

Grüße

06.06.2007 - 14:53 Uhr

gerne 🙂

06.06.2007 - 12:03 Uhr

Sollte in etwa so funktionieren:


Response.AppendHeader("content-disposition","attachment; filename=Dateiname"); // eventuell Filename unter dem die Daten gespeichert werden sollen mitgeben
Response.ContentType = "audio/wav"; // bei audio/wav wird z.B. der standard Player geöffnet
Response.BinaryWrite(daten); // Daten rausschreiben
Response.End(); // Response beenden !! Wichtig !!

06.06.2007 - 07:35 Uhr

Sollte in etwa so aussehen:


System.Type t = System.Type.GetType("com.javatutor.insel.meta.DynamReflectionMethod");
Object o = Activator.CreateInstance(t);
MethodInfo mi = t.GetMethod("Methode");
mi.Invoke(o);

25.05.2007 - 10:56 Uhr

Hallo!

Ich denke folgendes könnte dir eventuell weiterhelfen:
http://www.sqlteam.com/item.asp?ItemID=250

Grüße

25.05.2007 - 07:01 Uhr

Vielen Dank genau danach habe ich gesucht

24.05.2007 - 14:36 Uhr

Hallo!

Mein Code sieht wie folgt aus:


Dictionary<CustomClass,String> dict;

dict = new Dictionary<CustomClass,String>();
//erzeugen von Objekten und hinzufügen
CustomClass tmp1 = new CustomClass(1);
CustomClass tmp2 = new CustomClass(2);
CustomClass tmp3 = new CustomClass(3);
dict.Add(tmp1,"tmp1");
dict.Add(tmp2,"tmp2");
dict.Add(tmp3,"tmp3");

//erzeugen eines "gleichen" Objekts
CustomClass tmpX = new CustomClass(2);


dict[tmpX] //danach suchen --> KeyNotFoundException??

Wie kann ich verhindern das wenn der Inhalt der Objekte gleich ist (tmp2 & tmpX)
das eine KeyNotFoundException geworfen wird?
Welche Methode muß ich in meine CustomClass implementieren um für den Vergleich aufgerufen zu werden?

Vielen Dank für eure Hinweise!

Grüße