Oggi ho fatto intrapreso uno studio del modello di compilazione di ASP.net che ha dato risultati interessanti. Infatti sono riuscito ad utilizzare due linguaggi di programmazione, VB e C#, all'interno della stessa applicazione Web. Come si fa? Bene, è presto spiegato. Come prima cosa, dopo aver creato un progetto di sito web nel linguaggio preferito, aggiungo la directory App_Code. A questo punto, all'interno di App_code, creo due sottodirectory, VB e CS, che conterranno, rispettivamente, i file Visual Basic e C#. Subito dopo, aprendo il file web.config, aggiungo nella sezione <compilation> le due directory di compilazione:
<compilation debug="false" strict="false" explicit="true">
<codeSubDirectories>
<add directoryName="VB"/>
<add directoryName="CS"/>
</codeSubDirectories>
</compilation>
Occhio: non è obbligatorio chiamare le directory VB e CS .
A questo punto creo la classe Person in VB
Imports Microsoft.VisualBasic
Public Class Person
Private _name As String
Public Property Name() As String
Get
Return _name
End Get
Set(ByVal value As String)
_name = value
End Set
End Property
Private _age As Integer
Public Property Age() As Integer
Get
Return _age
End Get
Set(ByVal value As Integer)
_age = value
End Set
End Property
End Class
e la classe Developer in C# che faccio ereditare da Person (!!!)
public class Developer:Person
{
public Developer()
{
}
private string _languageUsed;
public string LanguageUsed
{
get { return _languageUsed;}
set { _languageUsed = value;}
}
}
Nella pagina Default.aspx, a questo punto, posso sbizzarrirmi con cose di questo tipo:
Dim _d As New Developer
_d.Age = 30
_d.Name = "Davide"
_d.LanguageUsed = "Visual Basic.net"
Non male come feature... Attenzione però! Quando si pubblica il sito (compilandolo) viene creata una dll per ogni directory! Questa feature può tornare utilile se abbiamo sviluppatori che utilizzano linguaggi differenti o se vogliamo fondere in un progetto codice già scritto in progetti precedenti, nei quali abbiamo usato VB o C#.