Codice da C# a Vb.net

mercoledì 14 marzo 2012 - 17.45
Tag Elenco Tags  C#  |  VB.NET  |  .NET 4.0

86Marco Profilo | Expert

Salve ragazzi,
ho trovato in un tutorial questo pezzo di codice ma ho seri problemi a scriverlo convertendolo in Vb.net. Il codice è in C#.

Vi posto il codice originale:

======================================================
protected void PopolamentoListeUtenti()
{
ListBoxUtenti.Items.Clear();
if (ListBoxRuoli.SelectedItem != null)
{
string[] utentiInRuolo = Roles.GetUsersInRole(ListBoxRuoli.SelectedItem.ToString());
for (int i = 0; i < utentiInRuolo.Length; i++)
ListBoxUtenti.Items.Add(utentiInRuolo[i].ToString());
// popolamento lista ListBoxUtentiNon
ListBoxUtentiNon.Items.Clear();
MembershipUserCollection utenti = Membership.GetAllUsers();
foreach (MembershipUser UserName in utenti)
if (!Roles.IsUserInRole(UserName.ToString(), ListBoxRuoli.SelectedItem.ToString()))
ListBoxUtentiNon.Items.Add(UserName.ToString());
}
}
======================================================


Questo è invece il codice da me riscritto in VB.NET:

======================================================
Function PopolamentoListeUtenti()

ListBoxUtenti.Items.Clear()

If Not IsNothing(ListBoxRuoli.SelectedItem) Then

Dim utentiInRuolo() As String
utentiInRuolo = Roles.GetUsersInRole(ListBoxRuoli.SelectedItem.ToString)

For i = 0 To utentiInRuolo.Length - 1
ListBoxUtenti.Items.Add(utentiInRuolo(i).ToString)
Next

ListBoxUtentiNon.Items.Clear()

Dim utenti As MembershipUserCollection
utenti = Membership.GetAllUsers

For Each nomeutente In utenti
If Not Roles.IsUserInRole(nomeutente.ToString, ListBoxRuoli.SelectedItem.ToString) Then
ListBoxUtentiNon.Items.Add(nomeutente.ToString)
End If
Next

End If
End Function
======================================================

Ritengo che ci sia a mio modesto avviso uyn problema su questa riga, che ne dite?
C#: if (ListBoxRuoli.SelectedItem != null)
VB.NET: If Not IsNothing(ListBoxRuoli.SelectedItem) Then


Sapete aiutarmi???
Nel caso di C# tutto funziona correttamente nel caso Vb:net no.
Attendo Vs please :(

Grazie vivamente!

ripac Profilo | Newbie

Dovrebbe essere corretto. Questo è il risultato del convertitore:
Protected Sub PopolamentoListeUtenti() ListBoxUtenti.Items.Clear() If ListBoxRuoli.SelectedItem IsNot Nothing Then Dim utentiInRuolo As String() = Roles.GetUsersInRole(ListBoxRuoli.SelectedItem.ToString()) For i As Integer = 0 To utentiInRuolo.Length - 1 ListBoxUtenti.Items.Add(utentiInRuolo(i).ToString()) Next ' popolamento lista ListBoxUtentiNon ListBoxUtentiNon.Items.Clear() Dim utenti As MembershipUserCollection = Membership.GetAllUsers() For Each UserName As MembershipUser In utenti If Not Roles.IsUserInRole(UserName.ToString(), ListBoxRuoli.SelectedItem.ToString()) Then ListBoxUtentiNon.Items.Add(UserName.ToString()) End If Next End If End Sub


86Marco Profilo | Expert

Ciao Ripac e grazie per la risposta.
Alla fine avevo già risolto.

Il problema era nella negazione Not IsNothing ==> IsNot Nothing ... cosi come il convertitore ti aveva scritto!
Grazie comunque :)
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5