Collection<T> Observable Introduction

Generated Source Code Base Class

System.Collections.ObjectModel.Collection<T>

Description

The Collection<T> (Collection(Of T) in Visual Basic) base class provides the functionality for a "basic" collection. Unlike the non-generic collection base classes, Collection<T> is not abstract and it can, therefore, be used as is. The generated source code provides a closed constructed type, derived from the Collection<T> base class that enhances the basic functionality by adding the following members: RaiseListChangedEvents property, AddRange method and overloaded Find, FindAll and TrueForAll methods and a ListChanged event. The inclusion of the ListChanged event provides developers targeting version 2.0 of the .Net Framework with a collection class with change notification functionality. The event is fired when the collection changes e.g. when an item is added or removed and if the collected item implements the System.ComponentModel.INotifyPropertyChanged interface, when a collected class property changes.

A private, nested, read only wrapper class can be generated as part of the Collection<T> derived collection class source code. The read only wrapper is derived from the generated collection type, therefore it can be returned, transparently, from any property or method that is typed as the generated collection class. The read only wrapper class does not allow write operations on the underlying collection when called on an instance of the relevant generated collection class type or when called explicitly on the IList or IList<T> interface.

A private, nested, thread safe, synchronized wrapper class can be generated as part of the Collection<T> derived collection class source code. The synchronized wrapper is derived from the generated collection type, therefore it can be returned, transparently, from any property or method that is typed as the generated collection class. The synchronized wrapper class performs thread safe operations on the underlying collection when called on an instance of the relevant generated collection class type or when called explicitly on the IList or IList<T> interface.

Generated Source Code .Net Framework Version Compatibility

Versions: 3.5, 3.0 and 2.0

Generation Properties

You will be required to select/specify the following values in the generation property wizard as part of the source code generation process:

Property Description
Language You can generate either CSharp or Visual Basic source code
Collected Class Name The Type or Class name of the objects that are to be stored in the collection
Collection Class Name The Type or Class name of the collection
Namespace The collection class namespace (CSharp only)
Find Property Name The name of the collected class property to use when searching the collection
String Comparison The string comparison to use when searching the collection using the value of a string property
Allow Null Items Specify True if the collection is to allow null items to be added, False if not
Wrapper In addition to the collection class you can also generate a read only or synchronized wrapper class for the collection

Note

If a value type is specified as the collected class, the private, FindItem method has to be modified to remove the check for a null item.

If the collected class is not in the same namespace as the collection class, a using (Imports in Visual Basic) statement will need to be added to the generated source code.

Visual Basic Only

If the collection class is not in the default (project) namespace i.e. it is in a sub-namespace, a Namespace statement will need to be added to the generated source code.

Terms and Conditions

Blayd Software retain the copyright and other intellectual rights to the source code as originally generated. However, once you have the source code, you may change it by altering members, adding new members or removing members and you may use the source code in your own personal or commercial projects, either in its original form or with your own alterations. We strongly recommend that you read the full terms and conditions for the use of the generated source code before continuing.

Hints and Tips

We have put together a page of hints and tips to help you get the most out of our .Net Framework source code generator. If you have any doubts or queries about the generation properties and their influence on the generated source code or any other queries we recommend that you read the hints and tips before continuing.

Payments by PayPal Save time. Check out securely. Pay without sharing your financial information. With PayPal, you can pay with a credit or debit card, bank account or PayPal balance.

Order Information

We guarantee that you will get the source code that you have paid for. In the unlikely but possible event that the transfer back to this site from our payment processor fails, we will reactivate the source code generator transaction so that you can complete the process and generate your source code.

To reactivate a paid for but failed source code generator transaction:

  • Direct your browser back to the Blayd Software website
  • Follow the "Contact Us" link in the footer of any of the site's pages or go directly to the Support Section, where you will find the Contact Us links
  • Use the "Code Generator Enquiry" link to email your order reference and a brief description of the problem to us

We will then email a reactivation link to you so that you can complete the generation process and get your source code.

Important

Please make a note of your order reference before clicking the "Buy Now" button. You can either note the reference down or select the reference on the page and copy it to the clipboard, then paste it into a text editor and save to file.

If you are not intending to pay using a PayPal account, you must return back to this site, using the option provided on the PayPal site. If you do not return directly from the PayPal site to this site you will not be able to generate your source code (see above for details of how to reactivate a failed transaction).

Order Reference: 634194097659616061
Collection<T> Observable
(18.45) (15.00) (23.85)