Введение в программирование

       

Методы члены класса


Среда проектирования Visual Studio .NET дает возможность использовать мастер создания метода - члена класса (в окне Class View выбрать имя класса и выполнить команду контекстного меню Add|Add Metod). Список Modifier. диалога. C# Metod Wizard позволяет указать один из следующих модификаторов параметра метода:

  • none - определяет передачу параметров по значению. Если внутри метода будет изменено значение фактического параметра, то вне метода его значение останется прежним;
  • ref - определяет передачу параметров по ссылке. Изменение параметра внутри метода останется и после завершения метода. ref-параметр перед использованием обязательно должен быть инициализирован;
  • out - определяет передачу параметров по результату. При завершении метода конечное значение формального параметра присваивается указанному при вызове фактическому параметру. При этом в момент вызова метода фактический параметр может не быть инициализирован.

Например:

public void Metod1(int i, ref int j, out int k) { }

При обращении к методу или полю - членам класса используется операция . (точка) - доступ к члену класса. Имя поля или метода члена класса квалифицируется именем экземпляра класса.

Язык C# позволяет использовать методы с переменным числом параметров. Для метода с переменным числом параметров должны быть выполнены следующие правила:

  • переменный список параметров выступает как единый параметр и указывается ключевым словом params;
  • кроме переменного списка параметров, никаких других параметров после ключевого слова params в методе указывать нельзя;
  • в методе может быть указано только одно ключевое слово params, определяющее переменный список параметров.

Количество параметров в переменном списке параметров определяется свойством Length .

Например:

using System; public class MyClass1 { public static void UseParams1(params int[] list) { // Отображение списка параметров for ( int i = 0 ; i < list.Length ; i++ ) Console.WriteLine(list[i]); } public static void UseParams2(params object[] list) { // В переменном списке параметров могут быть // объекты различных типов for ( int i = 0 ; i < list.Length ; i++ ) Console.WriteLine((object)list[i]); } public static void UseParams3(int k,params object[] list) { // В переменный список параметров // включаются параметры, начиная // со второго for ( int i = 0 ; i < list.Length ; i++ ) Console.WriteLine((object)list[i]); } public static void Main() { UseParams1(1, 2, 3, 4, 5); UseParams1(1, 2); int[] myarray = new int[3] {1,2,3}; UseParams1(myarray); UseParams2(111, 'f', "string"); UseParams3(111, 'f', "string");

} }

Листинг 15.2.



Содержание раздела