SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am querying the UserProfileManager using the GetChanges method which returns a collection of strongly typed collection of objects describing the changes to user profiles. The objects are derived from UserProfileChange and ProfileBaseChange classes. I am particularly looking for changes to Colleagues (UserProfileColleagueChange class).

I can retrieve the changes. However, I need the security and privacy setting applied to such a change object (remember, when adding a colleague, a user can select the visibility of this connection) ... the ProfileBaseChange has the information in a internal Property ItemSecurity. However, that is not surfaces in the public API.

How can I access that information? It's kinda useless if I can't access it.

share|improve this question

Assuming that the information is absolutely not available anywhere else, you would need to use reflection as described here to access the internal property.

However please note that this is not supported by Microsoft and they may change the API in the future which may break your code. There is also a performance penalty.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.