Newsgroup: it.comp.dotnet
Titolo: Microstation 2004: confronto codice VB.net e  C#

Ho scritto questo messaggio su   "it.comp.lang.visual-basic " ma poi ho 
pensato che questo è il newsgroup giusto.
.....................................
Bentrley Microstation 2004 (programma cad) e VB.Net/C# 2010
Ho scritto il codice in VB.net e funziona perfettamente (cerca tutti i testi 
presente sul file cad, e visualizza la rotazione del testo).
Convertito in C#, mi da il seguente errore:
Errore 1 'MicroStationDGN.TextElement' non contiene una definizione di 
'Rotation' e non è stato trovato alcun metodo di estensione 'Rotation' che 
accetta un primo argomento di tipo 'MicroStationDGN.TextElement'. 
Probabilmente manca una direttiva using o un riferimento a un assembly. 
D:\00 .NET\testConsol\test\Program.cs 28 72 test
A questo punto, ho aperto contemporaneamente i due progetti (VB.Net e C#) e, 
dalla finestra Visualizza-Visualizzatore_oggetti, ho confrontato i metodi 
presente in una e nell'altra.
Stranamente, il metodo TextElement.Rotation lo trovo in VB.net (e quindi 
funziona) ma non in C#.
Qualcuno sa darmi una spiegazione?
Grazie
Nero.23


Hai dimenticato quel metodo nella conversione?
L'hai convertito automaticamente e quel metodo non è stato tradotto?
-- 
Raffaele Rialdi  
http://www.iamraf.net
Weblog: 
http://blogs.ugidotnet.org/raffaele
Microsoft MVP profile 
https://mvp.support.microsoft.com/profile/raffaele
UGIdotNET - 
http://www.ugidotnet.org/

 L'hai convertito automaticamente e quel metodo non è stato tradotto?
In che senso convertito?
Quando scrivo "elemText" e aggiungo il punto, non trovo "Rotation", mentre 
su VB.Net c'è.
Ho convertito una serie di programmini da 
vb.net
 a C# senza riscontrale 
particolari problemi. Tranne questo.


Forse ho capito ora ... prima avevo capito che il codice che espone 
Rotation fosse stato convertito da un tool automatico (
vb.net
 => c#).
Hai capito se è solo un problema di intellisense o di compilazione?
Prova a scrivere il codice anche se intellisense non ti da il 
suggerimento e vedi se compila.
Ad ogni modo dovresti capire meglio che succede guardando nella 
libreria con reflector/ilspy.


 con reflector/ilspy.
Ho aperto la dll-microstation, ma non ci capisco nulla.
Se trovo qualcuno disponibile, gli posso mandare la dll via e-mail 

 Qualcuno sa darmi una spiegazione?
Qualche idea sparsa:
E' strano che MicroStationDGN.TextElement viene riconosciuto mentre il
metodo Rotation in particolare non lo e', a meno che non sia un
extension methond definito in un assembly a parte (google non trova
niente per "MicroStationDGN.TextElement.Rotation"):
== per sincerartene, nel progetto VB naviga alla definizione del
metodo
   Rotation e vedi a quale assembly/classe appartiene.  (Oppure
dall'object
   browser, che forse e' lo stesso che il visualizzatore oggetti che
   menzionavi.)
In generale, verifica che in C# hai tutte le references di progetto
necessarie (in C# non ci sono path di ricerca come in VB); cosi' come
in C# le using in testa al file non possono essere omesse e definite
nelle opzioni di progetto come in VB: in particolare, affinche' tu
possa usare un extension method, occorre una using che importa il
namespace a cui appartiene l'extension method stesso, che altrimenti
non puo' essere risolto.
-LV

== per sincerartene, nel progetto VB naviga alla definizione del
metodo
   Rotation e vedi a quale assembly/classe appartiene.  (Oppure
dall'object
   browser, che forse e' lo stesso che il visualizzatore oggetti che
   menzionavi.)
In generale, verifica che in C# hai tutte le references di progetto
necessarie (in C# non ci sono path di ricerca come in VB); cosi' come
in C# le using in testa al file non possono essere omesse e definite
nelle opzioni di progetto come in VB: in particolare, affinche' tu
possa usare un extension method, occorre una using che importa il
namespace a cui appartiene l'extension method stesso, che altrimenti
non puo' essere risolto.
Microstation ha solo il namespace 'MicroStationDGN' da referenziare.
Ciao

 Se trovo qualcuno disponibile, gli posso mandare la dll via e-mail
Beh, se cerchi di imparare lo strumento ti sarà super-utile per tutte 
le prossime volte ;-)


> nel progetto VB naviga alla definizione del metodo
Lo hai fatto? Cosa ne viene fuori?
-LV