Creare e usare dll personali

venerdì 04 luglio 2008 - 11.00

piero87 Profilo | Junior Member

Ciao a tutti!!
Ho un problemino (eh, se no nn aprirei un 3d, no?)...vorrei cimentarmi nella creazione di dll personali per poi utilizzarle in vari programmi.
Ho inziato con una prova molto banale, la funzione add che somma due interi. Riesco a creare un un file .dll e ad aggiungerlo come referenza in un altro programma, ma nel momento in cui la uso mi viene detto che il nome 'add' non esiste nella classe o nello spazio dei nomi.

Questo è il codice della dll (per generarla ho scelta "libreria di controlli di windows" come tipo del progetto):
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

E invece questo è il codice del programma che cerca di usare la add:

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using dll; (...) public void button1_Click(object sender, System.EventArgs e) { txt3.Text = Convert.ToString(add(Convert.ToInt16(txt1.Text), Convert.ToInt16(txt2.Text))); } (...)



Dove ho sbagliato?? Uso Visual Studio 2003, framework 1.1 e scrivo in C#.


Piero

Enne Profilo | Junior Member

Ciao,
Prima cosa: hai aggiunto la .dll anche tra i riferimenti nel progetto?

Seconda cosa: per il test che stai facendo non c'è bisogno di scrivere tutto quel codice nella dll anche perchè è codice di progettazione di form e componenti, quindi del tutto inutile. Quando crei un nuovo progetto in Visual Studio, tra i modelli di Visual C# devi utilizzare libreria di classi.
Quindi il codice della dll verrebbe semplicemente:

using System; namespace dll { public class Class1 { public int add(int a, int b) { int res = a + b; return res; } } }

Terza cosa: non vedo nessun oggetto istanziato della classe (Class1) della dll per richiamare il metodo add.

//esempio
Class1 testcls = new Class1();
testcls.add(10, 10);

Rocco Verrastro
.NET Programmer - Web Developer

piero87 Profilo | Junior Member

grazie!! ma avevo appena risolto!!

Cmq si, era già aggiunta nelle references aggiunto con 'using'; e l'ho anche pulita dal codice inutile (come dicevi te!)
Piero
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5