РАЗДЕЛ
	about_methods

КРАТКОЕ ОПИСАНИЕ
	Описание способов использования методов для выполнения действий с 
	объектами в Windows PowerShell.
 

ПОЛНОЕ ОПИСАНИЕ
	Для представления элементов в хранилищах данных или состояния 
	компьютера в программе Windows PowerShell используются 
	структурированные наборы данных, называемые объектами. Например, 
	обращаясь к файлу в Windows PowerShell, вы работаете не с самим 
	файлом, а с объектом FileInfo, выполняющим роль его прокси.


	Большинство объектов содержат методы. Метод представляет собой набор 
	инструкций, осуществляющих определенные операции с данным объектом. 
	Например, объект FileInfo содержит метод CopyTo, позволяющий 
	копировать файл, представленный данным объектом.


	С помощью командлета Get-Member можно просмотреть список методов и их 
	определений, связанных с определенным объектом. Однако для использования 
	командлета необходимо, чтобы объект уже существовал в каком-либо 
	виде: в виде переменной, в виде объекта, созданного при указании команды 
	в качестве аргумента командлета Get-Member, либо в виде объекта, 
	переданного по конвейеру. Предположим, например, что переменной $a 
	присвоено строковое значение, то есть эта переменная связана с 
	объектом-строкой. Чтобы просмотреть список методов объекта, в 
	командной строке Windows PowerShell введите следующую команду:


		Get-Member -inputobject $a -membertype method


	Чтобы просмотреть список методов и их определений, связанных с 
	объектом, переданным по конвейеру, можно использовать командлет 
	Get-Member в этом конвейере, как показано в следующем примере:


		Get-ChildItem c:\final.txt | Get-Member -membertype method


	Стандартный способ вызвать метод - ввести его имя после ссылки на 
	объект (например, после переменной или выражения). Ссылка на 
	объект и имя метода разделяются точкой. Кроме того, все аргументы, 
	передаваемые методу, должны следовать сразу после имени метода и 
	заключаться в круглые скобки. 


	Если в сигнатуре метода входные аргументы отсутствуют, все равно 
	необходимо указать пустой набор аргументов в круглых скобках.


	Например, в следующей команде используется метод GetType, 
	возвращающий тип данных, связанный со строковым объектом $a.


		$a.GetType()


	Метод GetType возвращает тип данных для любого объекта, а переменная 
	всегда представляет объект. Тип объекта определяется типом данных, 
	хранимых в указанной переменной.


	Все действия в Windows PowerShell, например объявление переменной или 
	объединение команд в конвейер, связаны с объектами.Поэтому методы можно 
	использовать в самых разных ситуациях. Например, метод можно использовать 
	при проведении операций над значениями свойств, как показано в следующей 
	команде:


		(Get-ChildItem c:\final.txt).name.ToUpper()


	В данном случае объектом, для которого осуществляется вызов 
	метода ToUpper, является строка, связанная со свойством name. 
	(Обратите внимание, что для работы этого примера необходимо, чтобы в 
	корневом каталоге диска C: существовал файл Final.txt.) Фактически, 
	свойство name является свойством объекта FileInfo, возвращаемого 
	командлетом Get-ChildItem. В данном примере демонстрируется не только 
	объектная ориентированность среды Windows PowerShell, но и способ 
	вызова методов для любых доступных объектов.


	Результаты, полученные в предыдущем примере, также можно получить с 
	использованием переменной для хранения выходных данных командлета 
	Get-ChildItem, как показано в следующем примере:


		$a = (Get-ChildItem c:\final.txt).name
		$a.ToUpper()


	В приведенной команде также используется метод ToUpper строкового 
	объекта, связанного с переменной, в которой хранится имя файла, 
	возвращаемое командой Get-ChildItem.


	В некоторых случаях для использования метода необходимо указать 
	аргумент, управляющий работой метода. Например, объект FileInfo 
	содержит метод MoveTo, с помощью которого можно перемещать файл 
	из одного местоположения в другое. При использовании данного метода 
	необходимо указать аргумент, задающий целевое местоположение файла. 
	В следующем примере показано, как использовать этот аргумент:


		(Get-ChildItem c:\final.txt).MoveTo("c:\techdocs\final.txt")


	Команда Get-ChildItem возвращает объект FileInfo для файла 
	Final.txt, а затем с помощью метода MoveTo для данного объекта 
	задает новое местоположение файла и осуществляет его перемещение.


	Список аргументов, используемых методом, приводится в соответствующем 
	определении метода. Определение метода содержит как минимум одну сигнатуру 
	метода (также называемую перегрузкой в Microsoft .NET Framework). 
	Сигнатура метода содержит его имя и может содержать параметры, которые 
	необходимо указать при вызове метода. При отображении списка сигнатур 
	методов с помощью командлета Get-Member в качестве разделителя 
	используется запятая. Например, метод CopyTo класса FileInfo содержит 
	следующие две сигнатуры методов:


		1. CopyTo(String destFileName)
		2. CopyTo(String destFileName, Boolean overwrite)


	Первая сигнатура метода принимает имя целевого файла (включая 
	путь к нему), в который необходимо скопировать исходный файл. 
	следующем примере первый метод CopyTo используется для 
	В копирования файла Final.txt в каталог C:\Bin.


		(Get-ChildItem c:\final.txt).CopyTo("c:\bin\final.txt")


	Если данный файл по указанному пути уже существует, выполнение 
	метода CopyTo завершается с ошибкой и Windows PowerShell выдает 
	следующее сообщение об ошибке:


		Исключение при вызове "CopyTo" с "1" аргументом: "Файл 
		"c:\bin\final.txt" уже существует".


	Второй сигнатуре метода передается имя целевого файла, как и в 
	предыдущем примере. Однако при этом также указывается логическое 
	значение, определяющее, будет ли перезаписан существующий файл с 
	таким же именем в целевом местоположении, как показано в 
	следующем примере.


		(Get-ChildItem c:\final.txt).CopyTo("c:\bin\final.txt", $true)


	В качестве этого логического значения необходимо использовать 
	переменную $True, создаваемую средой Windows PowerShell автоматически. 
	Переменная $True содержит логическое значение "true". (Соответственно, 
	переменная $False содержит логическое значение "false".)



СМ. ТАКЖЕ
	about_Objects
	Get-Member