2011-10-13 126 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没有关系?我需要它将这个人与另一个实体联系起来。 –

相关问题