| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
|
Autor
|
Thema: C# - Frage zu using (1018 mal gelesen)
|
RoSiNiNo Mitglied Konstrukteur
   
 Beiträge: 1126 Registriert: 09.10.2002 Revit Structure 2011 Acad 2011-deutsch, Express Tools 3ds Max 2011 Win 7-Professional HP Workstation Z400, 6GB GeForce GTX 470
|
erstellt am: 04. Jan. 2005 08:36 <-- editieren / zitieren --> Unities abgeben:         
Wie ist das jetzt eigentlich mit using. Muß ich in dem Folgenden Beispiel btr jetz schließen oder nicht? Wir btr jetzt durch using am Ende geschlossen? Code: using (BlockTableRecord btr = (BlockTableRecord)tr.GetObject(blockId, OpenMode.ForRead, false)) { if (btr.IsLayout == false && btr.IsAnonymous == false) { cmbBlockName.Items.Add(btr.Name); //Autodesk.AutoCAD.ApplicationServices.CommandLinePrompts.Message(String.Format("\n{0} - {1}", btr.Name, blockId.ToString())); BlockNameAndID.Add(new BlockNameID(btr.Name, blockId)); } btr.Close(); }
------------------ Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
giami Mitglied

 Beiträge: 18 Registriert: 29.10.2003
|
erstellt am: 04. Jan. 2005 16:06 <-- editieren / zitieren --> Unities abgeben:          Nur für RoSiNiNo
|
RoSiNiNo Mitglied Konstrukteur
   
 Beiträge: 1126 Registriert: 09.10.2002 Revit Structure 2011 Acad 2011-deutsch, Express Tools 3ds Max 2011 Win 7-Professional HP Workstation Z400, 6GB GeForce GTX 470
|
erstellt am: 04. Jan. 2005 16:11 <-- editieren / zitieren --> Unities abgeben:         
|
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 04. Jan. 2005 21:44 <-- editieren / zitieren --> Unities abgeben:          Nur für RoSiNiNo
Hi RosiNiNo, ich denke auch: "using" ist doch nur ein Mechanismus, der eine qualifizierte Angabe vereinfacht - schlicht und ergreifend so was wie "With" in VBA. Oder eben wie "Imports" in VB.NET, mit dem Unterschied, dass "using" etwas flexibler ist. Wie dem auch sei: in allen Fällen geht es nur um das (Nicht-)Ausschreiben von Identifiern in bestimmten Sprachen. Einen Einfluss auf das Verhalten von AutoCAD halte ich für völlig ausgeschlossen - woher sollte die C#-Anweisung "using" irgendwas von "OpenMode.ForRead" oder so wissen? Ich vermute eher: wenn du alle "using"- oder "imports"-Anweisungen entfernst und die Aufrufe vollständig qualifizierst, ändert sich am IL-Code nicht die Bohne. Anderer Ansatz: Ich habe mich sowieso gewundert, warum du z.B. hier: http://ww3.cad.de/foren/ubb/Forum352/HTML/000047.shtml mit ForWrite rangehst - da ist doch gar nix zu schreiben. Ich würde da also auf mehr Sauberkeit achten - kleine Nachlässigkeiten hinsichtlich Open/Close haben in ARX schon immer zum Absturz geführt. Gruß, Axel Strube-Zettler
------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
RoSiNiNo Mitglied Konstrukteur
   
 Beiträge: 1126 Registriert: 09.10.2002 Revit Structure 2011 Acad 2011-deutsch, Express Tools 3ds Max 2011 Win 7-Professional HP Workstation Z400, 6GB GeForce GTX 470
|
erstellt am: 05. Jan. 2005 12:40 <-- editieren / zitieren --> Unities abgeben:         
|