Section 8.2. Method Arguments

   

8.2 Method Arguments

The behavior of a class is defined by the methods of that class. To make your methods as flexible as possible, you can define parameters: information passed into the method when the method is invoked. Thus, rather than having to write one method when you want to sort your ListBox from A-Z and a second method when you want to sort it from Z-A, you define a more general Sort( ) method and pass in a parameter specifying the order of the sort .

Methods can take any number of parameters. [3] The parameter list follows the method name and is encased in parentheses. Each parameter's type is identified before the name of the parameter.

[3] The terms "argument" and "parameter" are often used interchangeably, though some programmers insist on differentiating between the parameter declaration and the arguments passed in when the method is invoked.

For example, the following declaration defines a subprocedure (thus, it returns no value) named MyMethod( ) which takes two parameters, an integer and a button:

 Sub MyMethod (firstParam As Integer, secondParam As Button)   ' ... End Sub 

Within the body of the method, the parameters act as local variables , as if you had declared them in the body of the method and initialized them with the values passed in. Example 8-4 illustrates how you pass values into a method, in this case values of type Integer and Single.

The compiler will mark your parameters as ByVal , indicating that the parameter is passed "by value."

  ByVal  firstParam As Integer 

When a parameter is passed by value, a copy is made. This is opposed to passing "by reference." (The distinction is described in Chapter 9.) The ByVal keyword and its implications are discussed in detail in Chapter 9.

Example 8-4. Passing parameters
 Option Strict On Imports System Public Class TestClass    Sub SomeMethod( _       ByVal firstParam As Integer, _       ByVal secondParam As Single)       Console.WriteLine( _          "Here are the parameters received: {0}, {1}", _          firstParam, secondParam)    End Sub End Class Module Module1    Sub Main( )       Dim howManyPeople As Integer = 5       Dim pi As Single = 3.14F       Dim tc As New TestClass( )       tc.SomeMethod(howManyPeople, pi)    End Sub End Module 
  Output:  Here are the parameters received: 5, 3.14 

Note that, if Option Strict is On, when you pass in a Single with a decimal part (3.14), you must append the letter F (3.14F) to signal the compiler that the value is a Single, and not a Double.

The method SomeMethod( ) takes an Integer and a Single and displays them using Console.WriteLine( ). The parameters, which are named firstParam and secondParam, are treated as local variables within SomeMethod( ).

In the calling method (Main), two local variables (howManyPeople and pi) are created and initialized. These variables are passed as the arguments to SomeMethod( ). The compiler maps howManyPeople to firstParam and pi to secondParam, based on their relative positions in the parameter list.

   


Learning Visual Basic. NET
Learning Visual Basic .Net
ISBN: 0596003862
EAN: 2147483647
Year: 2002
Pages: 153
Authors: Jesse Liberty

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net