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

  • SEARCH
  • Home
  • 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 7874273
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T02:45:51+00:00 2026-06-03T02:45:51+00:00

In C# in depth (an excellent book thus far), Skeet explains events aren’t fields

  • 0

In C# in depth (an excellent book thus far), Skeet explains events aren’t fields. I read this section many times and I don’t understand why the distinction makes any difference.

I am one of those developers that confuse events and delegate instances. In my mind, they are the same. Aren’t both just a form of indirection? We can multicast both. An event is setup as a field as shorthand…sure. But, we are adding or removing handlers. Stacking them up to be called when the event fires. Don’t we do the same thing with delegates, stack them up and call invoke?

  • 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. Editorial Team
    Editorial Team
    2026-06-03T02:45:53+00:00Added an answer on June 3, 2026 at 2:45 am

    The other answers are basically correct, but here’s another way to look at it:

    I am one of those developers that confuse events and delegate instances. In my mind, they are the same.

    An old saying about not seeing the forest for the trees comes to mind. The distinction that I make is that events are at a higher “semantic level” than a field of delegate instance. An event tells the consumer of the type “hi there, I am a type that likes to tell you when something happens”. The type sources an event; that’s part of its public contract.

    How, as an implementation detail, that class chooses to keep track of who is interested in listening to that event, and what and when to tell the subscribers that the event is happening, is the business of the class. It happens to typically do so with a multicast delegate, but that’s an implementation detail. It is such a common implementation detail that it is reasonable to confuse the two, but we really do have two different things: a public surface, and a private implementation detail.

    Similarly, properties describe the semantics of an object: a customer has a name, so a Customer class has a Name property. You might say that “their name” is a property of a customer, but you would never say that “their name” is a field of a customer; that’s an implementation detail of a particular class, not a fact about the business semantics. That a property is typically implemented as a field is a private detail of the class mechanics.

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

Sidebar

Related Questions

In C# in Depth 2nd Edition, Jon Skeet's book - which I've just read
I'm reading the book 'C# in Depth, 2nd Edition' of Jon Skeet. He said
I am implementing stereovision depth mapping as given in example in opencv text book
This code snippet is from C# in Depth static bool AreReferencesEqual<T>(T first, T second)
I'm starting to read in-depth on the .NET framework, and its Common Language Runtime.
To implement depth-first search in a grid, I wrote a function like this (define
I'm a bit out of my depth here and I'm hoping this is actually
I want to draw the depth buffer in the fragment shader, I do this:
I would like to find the maximum depth of this array: Array ( [0]
Lately I've read C# in Depth and it taught me about lambda expression, I've

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.