Click here to Skip to main content
15,879,326 members
Articles / Programming Languages / Visual Basic
Article

PropertyBag in VB .NET

Rate me:
Please Sign up or sign in to vote.
1.92/5 (4 votes)
11 Jan 2008CPOL2 min read 53.9K   17   7
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

VB.NET
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

VB.NET
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

VB.NET
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

VB.NET
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:
    VB.NET
    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:
    VB.NET
    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:
    VB.NET
    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)


Written By
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

 
GeneralThanks for the sample code Pin
aschoepske17-Dec-09 10:31
aschoepske17-Dec-09 10:31 

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

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