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 6907249
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T08:24:42+00:00 2026-05-27T08:24:42+00:00

I have a class that represents some business object, such as this: Public Class

  • 0

I have a class that represents some business object, such as this:

Public Class MyObject
    Inherits SomeBaseObject ' Implements INotifyPropertyChanged and IDataErrorInfo

    Private mMyVariable as Integer
    Public Property MyVariable as Integer
        Get
            Return mMyVariable
        End Get
        Set(ByVal value as Integer)
            mMyVariable = value
            OnPropertyChanged("MyVariable")
            Validate()
        End Set
    End Property

    Private Sub Validate()
        ' Validate fields and set IDataInfoError errors as needed.
    End Sub

End Class

SomeBaseObject implements both INotifyPropertyChanged and IDataErrorInfo, such that a Validate method will populate the appropriate IDataErrorInfo fields when setting the property values.

I also have a collection that supports change events, which I eventually bind to a WPF DataGrid.

Public Class MyCollection
    Inherits ObservableCollection(Of MyObject)
End Class

Part 1: Let’s say that I have a business rule which says that no two items in my collection may have the same value for MyVariable. How do I set up my events (or implement additional interfaces somewhere) to perform this cross-item validation whenever the property value changes on any item in the collection?

Part 2: Suppose I have a list of integers such that whenever I add a new MyObject item to an instance of MyCollection or change the MyVariable property on any item already in the collection, the value of the MyVariable property must exist in this list of integers?

  • 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-05-27T08:24:43+00:00Added an answer on May 27, 2026 at 8:24 am

    One possible option for this is to have a specific add method (such as AddRecord) that you use to add all of the records to the collection if it is legal to add them.

    (The only reason for having this new method is to gracefully handle scenarios in which an attempt is made to add a new record, but this attempt should be rejected; the alternative is to override InsertItem and throw an exception when the rules are validated.)

    When a record is added to the collection, you can hook up an event listener within the collection to the INotifyPropertyChanged.OnPropertyChanged event in order to listen for changes to the MyVariable property. Unfortunately, the only option at this point is to throw an exception if a duplicate is encountered, but that is better than nothing.

    You can override the ObservableCollections Remove method in order to remove the event listener and ensure the removed object can be garbage collected.

    Hopefully, this will give you some ideas on how to approach your problem.

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

Sidebar

Related Questions

I have a data structure that represents C# code like this: class Namespace: string
I have a class that represents some file data. The file contains some headers.
Does Ruby have a class that represents some period of time? IE, 1 hour,
I have class that represents users. Users are divided into two groups with different
I have a base class that represents a database test in TestNG, and I
Here is my custom class that I have that represents a triangle. I'm trying
Say I have a class which represents a person, a variable within that class
I have a string variable that represents the name of a custom class. Example:
Let's say I have a table that represents a super class, students . And
Imagine I have a class that represents a simple washing machine. It can perform

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.