2009-04-23 15 views
1

我已經構建了一個將某些UserProfile信息從SharePoint中抽出的方法。它在C#中效果很好,但我無法弄清楚如何將它的一部分轉換爲VB.NET。我對VB並不擅長,但通常在線的基本代碼轉換器會讓我過去遇到的任何問題。問題涉及下面的SPSecurity.RunWithEleveatedPrivilages部分。有沒有人知道如何在VB中實現委託代碼?如何將C#中的提升特權代碼轉換爲VB.Net以便與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

另外,還要考慮一個自動轉換器:HTTP://轉換器。 telerik.com/ – Chad 2012-06-11 05:41:23

回答

1

創建與功能的新代表。 (不是匿名的)

然後用SPSecurity.RunWithElevatedPrivileges(New DelegateName(Addressof yourfunction))

也許有在.NET更好的辦法3.0+我不知道

+0

謝謝,我會嘗試。 – Omenof 2009-04-23 14:06:18

相關問題