2017-03-29 35 views
0

如果我有名字和擱置的主人,我可以找到它成功地使用下面的代碼:如何找到一個CodeReviewRequest提供擱置利用信息

foreach (Shelveset shelveset in 
    versionControlServer.QueryShelvesets(workItem. 
     Fields["Associated Context"].Value.ToString(), "NW\\LFreeman")) 

其中workItem是的一個實例CodeReviewRequestworkItem

我可以從workItem.Fields["Associated Context"]

得到CodeReviewRequest的名稱。如果我的主人設置爲null因此,它返回一個空列表。據我所知,這種方法只適用於所有者被指定爲字符串的情況。

我想弄清楚如何獲得所有者。使用workItem.Fields["Associated Context Owner"].Value.ToString(),我可以得到所有者的GUID。

現在的挑戰是如何將GUID轉換爲預期的擁有者,即「NW \ LFreeman」。

當我打印出來的workItems.Fields["Associated Context Owner"].Value.ToString(),這裏是我所看到的:

c3741a78-1a44-4bf6-95b0-f360cd387f3e 

是否有可能從這個GUID檢索 「NW \ LFreeman」?如果是這樣,什麼方法調用將使我能夠做這個映射?


編輯:

下面是根據給出的答案和紐帶,爲我工作的代碼:

Guid ownerId = new Guid(codeReviewRequestWorkItem.Fields["Associated Context Owner"].Value.ToString()); 

Guid[] teamFoundationIds = new Guid[1]; 
teamFoundationIds[0] = ownerId; 

TeamFoundationIdentity[] users = ims.ReadIdentities((Guid[])teamFoundationIds, MembershipQuery.None); 

Shelveset[] shelves = vcs.QueryShelvesets(codeReviewRequestWorkItem.Fields["Associated Context"].Value.ToString(), users[0].UniqueName.ToString()); 

回答

相關問題