2009-04-23 4 views
1

私は、いくつかのUserProfile情報をSharePointから取り出す方法を構築しました。 C#ではうまく動作しますが、その一部をVB.NETに変換する方法がわかりません。私はVBでそれほど素晴らしいとは言えませんが、通常、オンラインの基本的なコードコンバータは、私が持っている問題をすべて解決してくれます。問題は以下のSPSecurity.RunWithEleveatedPrivilagesセクションに関するものです。どのようにVBでデリゲートコードを実装する方法を知っていますか?SharePointで使用するために、昇格特権コードをC#からVB.Netに変換するにはどうすればよいですか?

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

答えて

1

この機能を持つ新しいデリゲートを作成します。 (ない匿名1)

そして、たぶん、.NETでのより良い方法はありSPSecurity.RunWithElevatedPrivileges(New DelegateName(Addressof yourfunction))

を使用3.0+私はまた

+0

ありがとう、私はそれを試みます。 – Omenof

+1

SPSecurity.CodeToRunElevatedデリゲートを使用できます。代理人の中からあなたのリストを入れるには閉鎖が必要です:http://blogs.msdn.com/vbteam/archive/2007/05/02/closures-in-vb-part-1.aspx – dahlbyk