KeyedCollection<TKey, TItem> Standard Introduction
Generated Source Code Base Class
System.Collections.ObjectModel.KeyedCollection<TKey, TItem>
Description
The KeyedCollection<TKey TItem> (KeyedCollection(Of TKey, TItem)
in Visual Basic) abstract base class provides the "basic" functionality for a
collection with both index and key retrieval of collected items. Unlike dictionaries, an
element of KeyedCollection is not a key/value pair, the key is, typically,
represented by the value of a, specified, property of the collected item class. For example, in
a collection of Customer (class) items you can specify the Customer.Id
property as the key and you can then retrieve items from the collection either by specifying the
item's collection index or by specifying the Id value of the Customer
item to retrieve.
A private, nested, read only wrapper class can be generated as part of the
KeyedCollection<TKey, TItem> 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 KeyedCollection<TKey, TItem> 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 |
| KeyClassName |
(TKey) The Type or Class name of the objects that are to be used as
the collected item keys |
| KeyPropertyName |
The name of the property that is to represent the collected item key |
| Collected Class Name |
(TItem)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) |
| Wrapper |
In addition to the collection class you can also generate a read only or synchronized
wrapper class for the collection
|
Note
A key should not be null, therefore, as the key is retrieved from a collected class
property, the collection cannot contain null items. The collected class or item
is assumed to be a reference type and is, therefore, checked for null as each item
is inserted. If the collected class is a value type, the check for null should be
removed from the generated source code.
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.
If the key 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.
|
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: 634194097659616057