Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 47213
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T16:05:14+00:00 2026-05-10T16:05:14+00:00

The System.Windows.Threading.DispatcherObject class (which DependencyObject is based on) contains a useful function, called CheckAccess()

  • 0

The System.Windows.Threading.DispatcherObject class (which DependencyObject is based on) contains a useful function, called CheckAccess(), that determines whether or not the code is running on the UI thread.

When I wanted to use it yesterday, I was puzzled to find out that Intellisense didn’t show the function (nor VerifyAccess(), which throws an exception when not on the UI thread), even though the MSDN library lists it. I decided to investigate the class using Reflector. It seems that the function in question has an EditorBrowsable(EditorBrowsableState.Never) attribute attached to it. The Dispatcher class, which is used by DispatcherObject, has the same attribute attached to CheckAccess() and VerifyAccess():

public abstract class DispatcherObject {     // ...      [EditorBrowsable(EditorBrowsableState.Never)]     public bool CheckAccess();     [EditorBrowsable(EditorBrowsableState.Never)]     public void VerifyAccess();      // ...      [EditorBrowsable(EditorBrowsableState.Advanced)]     public Dispatcher Dispatcher { get; } }   public sealed class Dispatcher {     // ...      [EditorBrowsable(EditorBrowsableState.Never)]     public bool CheckAccess();     [EditorBrowsable(EditorBrowsableState.Never)]     public void VerifyAccess();      // ... } 

I don’t believe that the application of that attribute is random (or a joke), so my question is: why is it there? Should those methods not be called directly? Then why aren’t they protected (or internal, like some of the most useful methods in the WPF)?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T16:05:15+00:00Added an answer on May 10, 2026 at 4:05 pm

    A Microsoft employee recently stated CheckAccess is used only for ‘advanced scenarios’, so they hid it from Intellisense.

    ‘CheckAccess and VerifyAccess have always been marked to be not visible, maybe IntelliSense wasn’t respecting it. You can use Reflector to confirm. The idea here is that CheckAccess and VerifyAccess are advances scenarios, that normal developers don’t need.

    However, I do think that EditorBrowsableState.Advanced would have been a more appropriate level.’

    There’s a Microsoft Connect case for this shortcoming. Vote for it if it’s important to you.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 115k
  • Answers 115k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer http://www.zedimage.com/pms-cmyk-hex.php May 11, 2026 at 10:21 pm
  • Editorial Team
    Editorial Team added an answer You can do either fairly easily. Since you didn't specify… May 11, 2026 at 10:21 pm
  • Editorial Team
    Editorial Team added an answer I see it often too on web sites. I always… May 11, 2026 at 10:21 pm

Related Questions

I have the following problem: Multithreaded WPF application, Model View Presenter Implementation. Presenters and
I have thread exception handler which saves the exception stack trace and should close
I'm working on a WPF application that sometimes exhibits odd problems and appears to
Trying to get this example working from http://www.munna.shatkotha.com/blog/post/2008/10/26/Light-box-effect-with-WPF.aspx However, I can't seem to get

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.