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
PB. con classi shared
venerdì 05 maggio 2006 - 13.01
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Babi
Profilo
| Junior Member
197
messaggi | Data Invio:
ven 5 mag 2006 - 13:01
Ciao a tutti come faccio in una funzione shared di una classe a dichiarare una variabile
che mantenga il suo valore in tutta la funzione ?
p.s se la funzione non è share è suff. una dim all'interno della funzione stessa !!
grazie 1000
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
ven 5 mag 2006 - 15:13
Dichiari un membro shared a sua volta.
Puoi farlo con una proprietà oppure direttamente con una variabile shared.
Babi
Profilo
| Junior Member
197
messaggi | Data Invio:
ven 5 mag 2006 - 15:20
non ho capito. mi fai un esempio ?
grazie
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
ven 5 mag 2006 - 16:08
Un metodo shared di solito è fatto così metto una piccola classe di esempio con i metodi Shared e una proprietà Shared
Imports System
Imports System.Data
Public Class ClsDati
Private Shared mDsDati As DataSet = Nothing
Public Shared Property DsDati() As DataSet
Get
If mDsDati Is Nothing Then
mDsDati = New DataSet("Dati")
End If
Return mDsDati
End Get
Set(ByVal Value As DataSet)
mDsDati = Value
End Set
End Property
Public Shared Sub CreateTable(ByVal pTableName As String, ByVal pColumnNames As String(), ByVal pTypes As Type())
Dim tb As DataTable = New DataTable
tb.TableName = pTableName
Dim x As Integer = 0
For x = 0 To pColumnNames.Length - 1
Dim dc As DataColumn = New DataColumn
dc.ColumnName = pColumnNames(x)
dc.DataType = pTypes(x)
tb.Columns.Add(dc)
Next
ImpostaDefault(tb)
DsDati.Tables.Add(tb)
tb.TableName = pTableName
End Sub
Public Shared Sub CreateIndex(ByVal pTableName As String, ByVal pColumnNames As String())
Dim keys(pColumnNames.Length - 1) As DataColumn
Dim k As Integer = 0
For k = 0 To pColumnNames.Length - 1
keys(k) = mDsDati.Tables(pTableName).Columns(pColumnNames(k))
Next
DsDati.Tables(pTableName).PrimaryKey = keys
End Sub
Private Shared Sub ImpostaDefault(ByVal pTable As DataTable)
Dim k As Integer = 0
For k = 0 To pTable.Columns.Count - 1
Dim dc As DataColumn = pTable.Columns(k)
If dc.DataType.Equals(GetType(System.Boolean)) Then
dc.DefaultValue = False
End If
If dc.DataType.Equals(GetType(Date)) Then
dc.DefaultValue = System.DateTime.Now
End If
If dc.DataType.Equals(GetType(System.Decimal)) Then
dc.DefaultValue = 0
End If
If dc.DataType.Equals(GetType(System.Double)) Then
dc.DefaultValue = 0
End If
If dc.DataType.Equals(GetType(System.Int16)) Then
dc.DefaultValue = 0
End If
If dc.DataType.Equals(GetType(System.Int32)) Then
dc.DefaultValue = 0
End If
If dc.DataType.Equals(GetType(System.Int64)) Then
dc.DefaultValue = 0
End If
If dc.DataType.Equals(GetType(System.Single)) Then
dc.DefaultValue = 0
End If
If dc.DataType.Equals(GetType(System.String)) Then
dc.DefaultValue = ""
End If
If dc.DataType.Equals(GetType(System.UInt16)) Then
dc.DefaultValue = 0
End If
If dc.DataType.Equals(GetType(System.UInt32)) Then
dc.DefaultValue = 0
End If
If dc.DataType.Equals(GetType(System.UInt64)) Then
dc.DefaultValue = 0
End If
Next
End Sub
End Class
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 !