Click here to Skip to main content
Click here to Skip to main content

PropertyBag in VB .NET

, 11 Jan 2008 CPOL
Rate this:
Please Sign up or sign in to vote.
This article gives an overview of the propertybag class implemented in VB.NET.

Introduction

This article gives an overview of the propertybag class implemented in VB.NET.

Basically Propertybag is a virtual container which can hold any type of data and can be used to persist objects between instances. This class simulates the behaviour of propertybag supported in VB 6.0.

PropertyBag Class

The PropertyBag class exposes the following methods/properties which can be used to add/access the objects in it.

WriteProperty

Definition

Public Sub WriteProperty(ByVal szobjDesc As String, ByVal objValue As Object)
  • szObjDesc: Description of the object
  • objValue: Object

Description

Writes the given object to the bag with the specified description.

ReadProperty

Definition

Public Function ReadProperty(ByVal szobjDesc As String, _
    Optional ByVal ObjDefValue As Object = Nothing) As Object
  • szObjDesc: Description of the object
  • ObjDefValue: Default value to be returned if the object was not found in the bag. Defaults to nothing if not specified.

Description

Returns the specified object from the bag. If the object is not found, default value specified in the method call will be returned.

Contents

Definition

Public Property Contents()

Description

Gets or sets the Contents of the bag.

  • Get: Returns the Contents of the bag as a byte array (in binary serialized format)
  • Set: Sets the Contents of the bag with the given byte array

Clear

Definition

Public Sub Clear()

Description

Clears the contents of the bag.

Using the Code

Here are the steps to be followed to access the PropertyBag in your application:

  1. Add a reference to the PropertyBag Assembly in your application. The PropertyBag class becomes visible now.
  2. Instantiate the Object:
    Dim pbag as New PropertyBag()
  3. Add objects to the bag with description (which will be used later to retrieve the objects from the bag). Only objects which are serializable should be added to the bag, or else an exception will be thrown when you try to retrieve the contents of the bag using the contents property.
    pbag.WriteProperty("iInputNum",1)
  4. Read the objects from the bag when needed:
    Dim iValue as integer
        iValue = pbag.ReadProperty("iInputNum")
  5. In case you want to send the data in Propertybag across processes, serialize it to binary format and send the data:
    Dim bytearr() as byte
    
         bytearr= pbag.Contents
         RemoteSub(bytearr)
         // RemoteSub which runs in separate process
         Public sub RemoteSub(bytearr() as byte)
    
         Dim pbag as New Propertybag
         Dim iValue as integer
         pbag.contents = bytearr
         iValue = pbag.ReadProperty("iInputNum")
         ........
    
     End Sub

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

kiruba kumaresh R
Software Developer (Senior)
United States United States
I have completed my undergraduate degree in IT in 2004 and working as a software developer since then.

Comments and Discussions

 
GeneralPropertyBag PinmemberSr.Perkin14-Jul-08 0:58 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.141223.1 | Last Updated 11 Jan 2008
Article Copyright 2008 by kiruba kumaresh R
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid