Solved

Creating a base class inheriting BindingList

Posted on 2008-10-14
6
2,315 Views
Last Modified: 2013-11-08
I need the specific code for VB.Net 2.0 - 3.5 to create a BindingList base (abstract) class for my business object 'collections' to inherit from (specifically the 'Persons' below).

The reason I need a base class is that I want to insert some common functionality in it that I do not wish to hand-duplicate in each specific business class and let the power of inheritance do that work.

I have done this sucessfully in the past with .Net 1.1 projects using Collection, but now using BindingList(Of T) with .Net 3.5, which is new to me, it's got me tripped up how not to have to specify the type in the (Of T) of the base class so that I can inherit from it for many different classes in my project and specify the type in each class.

Below is code for example purposeses. I need a base class that clsPersons would inherit from.

Thanks, Jeff







'''' Object '''''
Public Class clsPerson
    Private _Id As Integer
    Private _Name As String
 
    Public ReadOnly Property Id() As Integer
        Get
            Return _Id
        End Get
    End Property
 
    Public Property Name() As String
        Get
            Return _Name
        End Get
        Set(ByVal value As String)
            _Name = value
        End Set
    End Property
 
    Public Sub New(ByVal Name As String, ByVal Id As Integer)
        _Id = Id
        _Name = Name
    End Sub
End Class
 
'''' Collection ''''
Imports System.ComponentModel
Public Class clsPersons
    'How to make this non-type specific for inheritance?
    Inherits BindingList(Of clsPerson)
    Implements IEnumerable
End Class

Open in new window

0
Comment
Question by:JEFFCECCHINI
  • 4
  • 2
6 Comments
 
LVL 37

Accepted Solution

by:
gregoryyoung earned 500 total points
ID: 22723873
public class YourAbstractBase(Of T)
     Inherits BindingList(Of T)
implements IEnumerable(Of T)


end class
0
 

Author Closing Comment

by:JEFFCECCHINI
ID: 31506200
Hi Greg,

Thanks for the reply. I assume that in my 'collection' I must do this to inherit from the abstract class

Public Class clsPersons
    Inherits BindingList(Of clsPerson)
    Implements IEnumerable
End Class

Now, I'm trying to figure out how do enable things like sorting in the abstract class. If you know how, please comment. I can open another question and award more points.

Thanks so much, Jeff
0
 

Author Comment

by:JEFFCECCHINI
ID: 22724517
Oops...Implements IEnumerable in my comment above would be unnecessary
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 37

Expert Comment

by:gregoryyoung
ID: 22724524
No worries points and a dollar will get me a cup of coffee. Here is an example in C# (and explanation), it should be pretty easy to translate to VB.NET.

http://msdn.microsoft.com/en-us/library/ms993236.aspx

Cheers,

Greg
0
 

Author Comment

by:JEFFCECCHINI
ID: 22724672
Thanks Greg, I'm checking this out now.
Since I took the jump from VB.NET 1.1 to VB.NET 3.5, I might as well take advantage of some of the new technology rather than porting my old stuff forward. We'll see if this time allocation proves fruitful.

Jeff
0
 

Author Comment

by:JEFFCECCHINI
ID: 22728200
Hi Greg, I'm having some problems implementing the sorting.
Here's my new question, maybe you could take a look?

http://www.experts-exchange.com/Programming/Languages/.NET/Q_23819265.html

Thanks, Jeff
0

Featured Post

How Do You Stack Up Against Your Peers?

With today’s modern enterprise so dependent on digital infrastructures, the impact of major incidents has increased dramatically. Grab the report now to gain insight into how your organization ranks against your peers and learn best-in-class strategies to resolve incidents.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question