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。