《VB2008从入门到精通(PDF格式英文版)》第15章


Figure 1…8。 Updated solution structure that contains three projects 
The added ClassLibrary project has a single file called Class1。vb; which is a plain…vanilla
source code file。
…………………………………………………………Page 37……………………………………………………………
C H AP TE R 1 ■ R E AD Y ; ST E AD Y ; G O! 15 
Moving Functionality 
Now we will move the code used to say “hello; world” from ConsoleApplication to
ClassLibrary。 Add the code to Class1。vb as follows (the bolded code): 
Public Class Class1 
Public Shared Sub HelloWorld() 
Console。WriteLine(〃hello; world〃) 
End Sub 
End Class 
The modified code contains a method called HelloWorld()。 When called; this method will
output the text “hello; world。” As mentioned earlier in the chapter; a method is a set of instruc
tions that carry out a task。 Methods are discussed in more detail in Chapter 2。
In order for applications to actually share the code that’s in a class library; you must make
the projects aware of each other’s existence。 You do that through references。 
Defining References 
To make one project aware of definitions in another project; you need to define a reference。 The
idea behind a reference is to indicate that a project knows about another piece of functionality。 
■Note The project only knows about the functionality that has been declared as being public。 Public function
ality; or what Visual Basic programmers call public scope; is when you declare a type with the Public keyword。
You will learn about public and other scopes throughout this book。
To make ConsoleApplication aware of the functionality in the ClassLibrary project; you
need to set a physical reference; as follows: 
1。 In the Solution Explorer; click ConsoleApplication。
2。 Right…click and select Add Reference。 
3。 Click the Projects tab。 
4。 Select ClassLibrary; and then click OK。 ClassLibrary will be added to
ConsoleApplication’s references。 
Once the reference has been assigned; ConsoleApplication can call the functionality in
ClassLibrary。
To know which references your application or class library has; you need to look in the
project settings。 To do so; right…click the project name; ConsoleApplication; in the Solution
Explorer and select Properties。 In the Properties window; select the References tab; as shown
in Figure 1…9。 
…………………………………………………………Page 38……………………………………………………………
16 CH AP T E R 1 ■ R E A DY ; ST E A DY ; G O ! 
Figure 1…9。 References used by the Visual Basic project 
Calling Class Library Functionality 
Now we need to change ConsoleApplication so that it calls the function in ClassLibrary。 Modify
the Module1。vb file in ConsoleApplication as follows: 
Module Module1 
Sub Main() 
Console。WriteLine(〃hello; world〃) 
ClassLibrary。Class1。HelloWorld() 
Console。ReadKey() 
End Sub 
End Module 
Run ConsoleApplication by pressing Ctrl+F5。 A mand prompt window should appear
and generate the “hello; world” text twice。 The first “hello; world” is generated by the code
Console。WriteLine()。 Calling the function ClassLibrary。Class1。HelloWorld() generates the
second “hello; world。” 
USING REFERENCE SHORTHAND 
ClassLibrary。Class1。HelloWorld() is the longhand way to use a reference。 If we were to use long
hand for the Console。WriteLine() call; we would write System。Console。WriteLine(); because the
Console。WriteLine() method is defined in the System reference。 However; Visual Basic Express includes
the System reference by default; so we don’t need to do it this way。
…………………………………………………………Page 39……………………………………………………………
C H AP TE R 1 ■ R E AD Y ; ST E AD Y ; G O! 17 
To use shorthand for the ClassLibrary call; we would include an Imports line at the beginning of
Module1。vb in ConsoleApplication and change the call to Class1’s HelloWorld() method: 
Imports ClassLibrary 
Module Module1 
Sub Main() 
Console。WriteLine(〃hello; world〃) 
Class1。HelloWorld() 
Console。ReadKey() 
End Sub 
End Module 
But shorthand like this has a downside。 What if we had many references; each containing a class called
Class1? In this case; Visual Basic Express wouldn’t know which Class1 to use without the help of longhand。
Granted; you are not likely to name multiple classes Class1; but even sensible names can be duplicated in a
collection of references。 And if you are using someone else’s code as a reference; the possibility of duplicate
names bees higher。 Therefore; you’re better off using longhand in this case。 
Using Variables and Constants 
One of the core concepts in a Visual Basic program is to use variables。 Think of a variable as a
block of memory where you can store data for later use。 This allows you to pass data around
within your program very easily。 
In our ClassLibrary project; it would make life easier if we could define the message to
display at the beginning of the method。 That way; if we decide to change the message; we can get at
it much more easily。 As it stands; if we were to add more code before the Console。WriteLine() call;
we would need to scroll through the text to find the message to change。 A variable is perfect for
this; as we can define some data (the message to print); and then use it later in our program。 
小说推荐
返回首页返回目录