By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,990 Members | 2,138 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,990 IT Pros & Developers. It's quick & easy.

Usage of the "New" KeyWord

P: n/a
Sam
Hi everyone

Could anyone help me understand the usage of the "New" keyword I'm new to
VB.Net.

1. Why do we use the "New" keyword on some object type variables such as the
myPen of the example below and not with the bgColor. Both the Pen and Color
are objects

Dim myPen As Pen = New Pen(Color.AquaMarine)
Dim bgColor As Color = Color.LightYellow

2. Why do properties such as Size, Location, Font... of controls require a
new instance of their classes when we want to change their properites at run
time
Thanks

Sam
Nov 20 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Color is a Structure, hence a ValueType whereas Pen is a Reference type.
Everythign in .NET is an 'object' btw. That's why even though integer is an
object , Dim i as Integer is ok. This may help a little if you aren't
familiar with the distinction
http://www.knowdotnet.com/articles/referencetypes2.html

The difference in behavior between valuetypes and referencetypes is NOT
trivial by any means, but understanding the differences is pretty
straightforward. For instance, pass in a Value Type by value to function
and modify it, the original is still in tact. Pass in a Reference Type
ByVal to a method and any changes made to it are made to the object you
passed in.

I'm not sure I totally understand your second question but I'll take a
guess. Those properties are instance properties, meaning they belong to the
instance. Other properties are static (shared in VB) which means they
belong to the class and not a specific instance.

HTh,

Bill

--
W.G. Ryan MVP Windows - Embedded

Have an opinion on the effectiveness of Microsoft Embedded newsgroups?
Let Microsoft know!
https://www.windowsembeddedeval.com/...ity/newsgroups
"Sam" <qd*@datawave.ca> wrote in message
news:Oz**************@tk2msftngp13.phx.gbl...
Hi everyone

Could anyone help me understand the usage of the "New" keyword I'm new to VB.Net.

1. Why do we use the "New" keyword on some object type variables such as the myPen of the example below and not with the bgColor. Both the Pen and Color are objects

Dim myPen As Pen = New Pen(Color.AquaMarine)
Dim bgColor As Color = Color.LightYellow

2. Why do properties such as Size, Location, Font... of controls require a
new instance of their classes when we want to change their properites at run time
Thanks

Sam

Nov 20 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.