Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Compilazione automatica classi
venerdì 07 dicembre 2007 - 18.43
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
the_follet
Profilo
| Newbie
46
messaggi | Data Invio:
ven 7 dic 2007 - 18:43
Salve a tutti.
Sto sviluppando una classe astratta con alcuni metodi che si relazionano ad altri metodi dichiarati come mustoverride (ma non è questo il problema...
).
Le classi derivate (all'interno dei metodi che eseguono l'override) hanno tra di loro in comune una buona parte di codice (e aggiungerei "ovviamente"
).
Ciò posto, mi piacerebbe che nel momento in cui viene creata la classe derivata, il compilatore di VS provvedesse ad inserire automaticamente porzioni di codice predefinito all'interno dei metodi che eseguono l'override (cioè quelli dichiarati mustoverride nella classe astratta).
Per essere più chiaro, mi riferisco a qualcosa di simile a ciò che fa (ad esempio) l'interfaccia IDisposeable, la quale aggiunge la sub "dispose" ed il campo boolean "disposed" alla classe in cui viene implementata.
Ho provato ad utilizzare vari TAGS XML senza ottenere alcun risultato...
Questo è l'esempio pratico di ciò che vorrei:
Public MustInherit Class ClasseBase
'Qui ho provato ad utilizzare vari TAGS XML
Protected MustOverride Sub FaiQualcosa( )
End Class
Public Class ClasseDerivata : Inherits ClasseBase
Protected Overrides Sub FaiQualcosa( )
'Qui vorrei che venisse inserito
'automaticamente del codice che
'io ho predefinito tramite i TAGS XML
'(o in qualsiasi altra maniera...)
End Sub
End Class
Mi sembra di aver capito che ciò che voglio lo dovrei ottenere tramite la "serializzazione", ma dopo un pò di ricerca mi sono perso per strada...
Qualcuno di voi saprebbe indicarmi una maniera agevole per ottenere il risultato sperato?
Ringrazio anticipatamente per l'attenzione.
Luca
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mer 12 dic 2007 - 22:24
Sarà la stanchezza, ma non sono ben sicuro di ciò che hai in mente. Magari, tanto per non sbagliare, prova a dare un'occhiata qui:
http://forum.masterdrive.it/visual-basic-net-18/vb2005-disegnare-funzione-18846/index2.html#post95448
the_follet
Profilo
| Newbie
46
messaggi | Data Invio:
mer 12 dic 2007 - 23:13
Ti ringrazio molto per l'interessamento, Alex, ma purtroppo non è il caricamento dinamico delle librerie che mi interessa
Cerco di riassumere un pò meglio quello che desidero ottenere.
Sappiamo che se creo una classe astratta con dei metodi dichiarati "mustoverride", nel momento in cui vado a creare una classe ereditata quegli stessi metodi mi vengono automaticamente inseriti nell'editor senza che io debba ridigitarli.
Vale a dire:
- definisco la classe astratta
Public Mustinherit Class myAbstractClass
protected mustoverride sub Pippo
end class
- poi digito
public Class miaClasse : Inherits myAbstractClass
a questo punto, appena batto INVIO, l'editor di VS mi inserisce automaticamente a seguire:
Protected Overrides Sub Pippo
End Sub
End Class
Ordunque, quello che io vorrei è che l'editor di VS mi inserisse del testo tra
Protected Overrides Sub Pippo
e
End Sub
che io ho preventivamente definito (suppongo tramite Tags XML, ma non ne sono poi tanto sicuro...).
Questa cosa mi serve per avere una struttura -diciamo- uniforme del metodo sottoposto ad override che però al tempo stesso possa essere editata e modificata a seconda della classe che implemento.
Il risultato finale, per rendere l'idea, potrebbe essere questo:
Public Class miaClasse : Inherits myAbstractClass
Protected Overrides Sub Pippo
Dim Tabella As String '------------------ inserito automaticamente
Tabella = "Archivio" '------------------ questo lo devo scrivere a mano
'If Tabella = "Ciccio" Then cnn.Open '---------- inserito automaticamente, ma magari voglio modificare il codice...
Etc. Etc. '---------------------------- questo lo devo scrivere a mano
End Sub
End Class
Le sciocchezze che ho scritto all'interno del metodo non hanno nessuna importanza, sono solo un esempio.
Nel primo post ho citato l'esempio dell'interfaccia IDisposable, che quando viene implementata aggiunge alcune righe di codice all'interno del metodo Dispose e la variabile booleana disposedValue:
Private disposedValue As Boolean = False ' Per rilevare chiamate ridondanti
' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
If Not Me.disposedValue Then
If disposing Then
' TODO: liberare le risorse non gestite chiamate in modo esplicito
End If
' TODO: liberare le risorse non gestite condivise
End If
Me.disposedValue = True
End Sub
Credo che sia tuttora l'esempio più chiaro di ciò che sto cercando di ottenere, una porzione di codice preconfezionato che possa essere integrato e modificato a seconda delle esigenze
Scusami se ti ho fatto venire il mal di testa, ma se non ne vengo a capo ci rimango troppo male
Ciao e grazie.
Luca
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
gio 13 dic 2007 - 07:54
Credo di avere abbastanza chiaro il tuo problema. Non la soluzione però!
Qualcosa di vagamente simile, ma non automatico come lo vuoi tu, potresti ottenerlo con i code snippet, creandone di personalizzati.
Altrimenti, alla disperazione, potresti far riaprire il tuo codice da un altro programma in VB, che, trattandolo come un file di testo, lo riempia di ciò che ti serve. Poi te lo riapri da IDE e apporti le necessarie modifiche. Forse potresti ottenere una prestazione simile anche da una macro, ma non ne sono certo.
the_follet
Profilo
| Newbie
46
messaggi | Data Invio:
gio 20 dic 2007 - 17:16
Nessun altro ha qualche idea al riguardo?
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !