Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

iz VB.NET-a u C#

[es] :: .NET :: .NET Desktop razvoj :: iz VB.NET-a u C#

[ Pregleda: 1079 | Odgovora: 4 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mar_go
Wien

Član broj: 19818
Poruke: 3
*.27.11.vie.surfer.at



Profil

icon iz VB.NET-a u C#16.03.2004. u 08:23

Zdravo svima,
da li mi neko moze pomoci ovo iz VB.Net-a u C# da konvertujem. Hvala na svakoj pomoci.


Private Sub ButtonLog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLog.Click
' Login to Exchange Server
oSession = CreateObject("MAPI.Session")
oSession.Logon(ShowDialog:=False, NewSession:=False)

If (oSession.CurrentUser.Name = "Unknown") Then
'Not a good logon, logoff and exit
oSession.Logoff()
MsgBox("Logon error!", MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "CDO Logon")
Exit Sub
End If
End Sub

Private Sub ButtontvFill_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtontvFill.Click
' Fill Tree View with MAPI Folders
Dim oStore As MAPI.InfoStore
Dim childNode As TreeNode

rootNode = Me.TreeViewMAPIFolders.Nodes.Add("Exchange Folders")
For Each oStore In oSession.InfoStores
childNode = Me.rootNode.Nodes.Add(oStore.Name)
RecurseFolder(oStore.RootFolder, childNode)
Next
ButtontvFill.Visible = False
End Sub

Private Sub RecurseFolder(ByVal RootFolder As MAPI.Folder, ByVal parentNode As TreeNode)
Dim subNode As TreeNode
Dim subFolder As MAPI.Folder

For Each subFolder In RootFolder.Folders
subNode = New TreeNode(subFolder.Name)
parentNode.Nodes.Add(subNode)
RecurseFolder(subFolder, subNode)
Next
End Sub
16.03.2004. u 08:23 

Dragi Tata

Član broj: 1958
Poruke: 3885
199.171.112.*

Sajt: www.novetehnologije.com


Profil

icon Re: iz VB.NET-a u C#16.03.2004. u 17:30
Imaš programe koji to automatski rade. Npr:

http://www.codeproject.com/csharp/gbvb.asp
16.03.2004. u 17:30 

Mar_go
Wien

Član broj: 19818
Poruke: 3
*.27.11.vie.surfer.at



Profil

icon Re: iz VB.NET-a u C#16.03.2004. u 22:24
Hvala na odgovoru!
Ja sam sada to ovako sama pocetnicki pokusala, medjutim dobijam error da foreach
ne moze na varijable tipa object da se primenjuje, zato sto nema definiciju za "GetEnumerator"... ?????
Eine 'foreach'-Anweisung kann nicht auf Variablen des Typs 'object' angewendet werden, weil 'object' keine Definition für 'GetEnumerator' enthält, oder Zugriff nicht möglich ist.



MAPI.Session oSession = new MAPI.Session();
Object vEmpty = Missing.Value;
// Login to Exchange Server
oSession.Logon(vEmpty, vEmpty, true, true, 0, true, vEmpty);

MAPI.InfoStores oStore = null;
TreeNode childNode = null;
TreeNode rootNode = TreeViewMAPIFolders.Nodes.Add("Exchange Folders");

foreach (MAPI.InfoStores oStore in oSession.InfoStores)
{

childNode = this.rootNode.Nodes.Add(oStore.Name);
RecurseFolder(oStore.RootFolder, childNode);
}

Unapred hvala,
Margo
16.03.2004. u 22:24 

ZokiR
Zoran Radojković
Melburn, Australija

Član broj: 15986
Poruke: 109
*.vic.bigpond.net.au



Profil

icon Re: iz VB.NET-a u C#17.03.2004. u 13:31
U c#, foreach se koristi samo za kolekcije koje implementiraju IEnumerable interfejs ili ako deklarišu GetEnumerator metod.

U ovom slučaju možeš da upotrebiš običnu for petlju uz Count i get_Item():

Code:
            
for (int i = 1; i <= (int)((MAPI.InfoStores)session.InfoStores).Count; i++)
{
    MAPI.InfoStore store = (MAPI.InfoStore)((MAPI.InfoStores)session.InfoStores).get_Item(i);
    childNode = rootNode.Nodes.Add((string)store.Name);
    this.RecurseFolder((MAPI.Folder)store.RootFolder, childNode);
}
17.03.2004. u 13:31 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1806
193.203.9.*



Profil

icon Re: iz VB.NET-a u C#18.03.2004. u 09:59
Citat:
ZokiR:
U c#, foreach se koristi samo za kolekcije koje implementiraju IEnumerable interfejs ili ako deklarišu GetEnumerator metod.

Isto važi i za VB.NET. Postoji i COM verzija IEnumerable i COM platform invoke uvek za COM kolekcije implementira .NET IEnumerable, pa su COM kolekcije dostupne kao takve u .NETu. MIslim da se ovde krije nešto drugo.
BTW, mali input, čak i MS preporučuje sa strane optimizacije da se ne koristi foreach, pošto je sporiji od for(x=0;x<Count;x++)

▪ "Why isn't my wireless mouse connected to the computer?" - 2008 Dumbest Technical Support Question award
▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
18.03.2004. u 09:59 

[es] :: .NET :: .NET Desktop razvoj :: iz VB.NET-a u C#

[ Pregleda: 1079 | Odgovora: 4 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.