aprile 2004 Blog Posts
Una delle domande che ogni tanto ricorrono nel NG di VB.NET è come ricavare il valore di una variabile conoscendo il nome. Supponendo di essere all'interno di una form ecco una soluzione al problema basata sulla Reflection:
Public Variabile As String = "Valore"
MsgBox(GetValueByName("Variabile"))Public Function GetValueByName(ByVal name as String) As String Dim field As System.Reflection.FieldInfo field = Me.GetType.GetField(name) Return field.GetValue(Me).ToString()End Function
Il metodo è estendibile comunque anche ad altri scenari.
Ecco un paio di funzioni che ho scritto per creare e aprire un file udl tramite la DataLink Dialog utilizzando il namespace System.Diagnostics evitando così il reference ad AdoDb:
Public Shared Function CreateUDLFile(ByVal udlFilePath As String) As Boolean Dim file As New System.IO.FileInfo(udlFilePath) 'Creazione file file.Create().Close() 'Apertura file OpenUDLFile(udlFilePath) 'In caso di annullamento il file non viene generato e lo si elimina If file.Length = 0 Then file.Delete() Return False End If Return TrueEnd Function
Public Shared Sub OpenUDLFile(ByVal udlFilePath As String) Dim process As System.Diagnostics.Process process = System.Diagnostics.Process.Start(udlFilePath) process.WaitForExit() process.Close() process.Dispose() process = NothingEnd Sub
E' da un bel po' che sulla rete girano notizie su XEN un nuovo progetto di Microsoft Research (MSR) ovvero un nuovo linguaggio di programmazione compatibile con sistemi di tipo CLR che incorpora al suo interno XML e SQL. In altre parole un linguaggio per la manipolazione dei dati.
Di seguito uno spezzone di codice XEN:
public decimal AddTotal(Order orders, int zip){decimal total = 0;foreach (Item item in order[Zip == zip].item) {total += item.price * item.quantity;}return total; }Appare evidente la natura tipicamente OOP e la somiglianza con C#.Maggiori info al seguente link Microsoft Expands .Net With Xen