2011-10-13 122 views
3

我想獲得聯繫人列表應用程序的ID ...目前,我正在使用名爲PhoneNumberChooserTask的類,如Chooser Class,但我只獲得Number,Name,FullName。等。但如何獲得該聯繫人的ID?如何在Windows Phone聯繫人列表中獲取聯繫人的ID?

+0

不確定你指的是什麼。你能顯示你的代碼嗎? – user424134

+0

Id屬性實際上存在,但它是內部的,並且沒有辦法通過反射來獲取它的值(您將獲得PropertyAccessException)。 – Nagg

回答

3

是的,它是可能的,

Contact c = new Contact(); 
var Id = c.GetHashCode(); //gives the Id property value. 
+0

否 - GetHashCode()不保證在每次執行之間(或.NET Framework版本之間)返回相同的值 - 不要使用它來唯一標識聯繫人,因爲它不能保證工作! –

+0

另外,如果您更改聯繫人的任何屬性,則Hashcode會發生變化 - 如果您將其用作UID,則數據庫中的每個記錄都會在該UID引用特定聯繫人時發生錯誤,並且數據會成爲孤兒。 –

+1

嗨,史蒂夫,我不確定你說的是什麼。但是如果您反混淆了Contact類,則可以看到GetHashCode方法將返回ContactId。從某種意義上說,只有在Windows用戶使用谷歌聯繫人/ Windows Live聯繫人進行電話數據庫重新生成時,您纔可能是正確的。 –

2

你沒有什麼可以使用該ID的,所以它根本不適合你作爲開發者。 (這意味着它不可能

+1

這是如此悲傷,我不明白爲什麼Id的財產內部,而不是公衆。 – Nagg

+1

你是什麼意思我跟ID沒有關係?我需要它將這個人與另一個實體聯繫起來。 –

相關問題