2009-04-23 3 views
1

J'ai construit une méthode pour extraire des informations UserProfile de SharePoint. Cela fonctionne très bien en C#, mais je n'arrive pas à comprendre comment en convertir une partie en VB.NET. Je ne suis pas très bon à VB mais généralement les convertisseurs de code de base en ligne me font passer tout problème que j'ai. Le problème concerne la section SPSecurity.RunWithEleveatedPrivilages ci-dessous. Est-ce que quelqu'un sait comment implémenter le code de délégué dans VB?Comment puis-je convertir le code Privilege élevé de C# en VB.Net pour une utilisation avec SharePoint?

public List<MyData> GetData(string id) 
{ 
    List<MyData> mylinks = new List<MyData>(); 
    SPSecurity.RunWithElevatedPrivileges(delegate 
    {  
     var mgr = new UserProfileManager(ServerContext.GetContext("MySSP")); 
     UserProfile profile = null; 
     try 
     { 
      profile = mgr.GetUserProfile(id); 
     } 
     catch { } 

     QuickLinkManager qlmgr = new QuickLinkManager(profile); 
     QuickLink[] ql = qlmgr.GetItems(); 

     for (int i = 0; i < ql.Length; i++) 
     { 
       mylinks.Add(new MyData(ql[i].Url, ql[i].Title)); 
     } 
    }); 
    return mylinks; 
} 
+0

En outre, envisager un convertisseur automatisé: http: // convertisseur. telerik.com/ – Chad

Répondre

1

Créez un nouveau délégué avec cette fonction. (Pas un anonyme un)

Ensuite, utilisez SPSecurity.RunWithElevatedPrivileges(New DelegateName(Addressof yourfunction))

Peut-être il y a une meilleure façon .NET 3.0+ Je ne suis pas sûr

+0

Merci, je vais essayer ça. – Omenof

+1

Vous pouvez utiliser le délégué SPSecurity.CodeToRunElevated. Le remplissage de votre liste à partir du délégué nécessitera une fermeture: http://blogs.msdn.com/vbteam/archive/2007/05/02/closures-in-vb-part-1.aspx – dahlbyk

Questions connexes