Определение параметров членов

Определение параметров членов

Теперь предположим, что нужно определить методы, имеющие аргументы. По сути, указание аргументов в CIL (приблизительно) соответствует аналогичной операции в C#. Например, аргумент определяется с помощью указания типа данных после имени соответствующего параметра. К тому же, как и в C#, в CIL обеспечиваются возможности ввода, вывода и передачи параметров по ссылке. Также в CIL позволяется определять аргумент массива параметров (в C# это делается с помощью ключевого слова params) и необязательные параметры (которые в C# не поддерживаются, но допускаются в VB .NET).

Чтобы показать пример определения параметров непосредственно в CIL, предположим, что нам нужно построить метод, который получает int32 (по значению), int32 (по ссылке), [mscorlib] System.Collections.ArrayList и имеет единственный выходной параметр (типа int32). В терминах C# этот метод должен выглядеть приблизительно так.

public static void MyMethod(int inputInt, ref int refInt, ArrayList ar, out int outputInt) {

 outputInt = 0; // Просто чтобы удовлетворить компилятор C#…

}

Если спроецировать этот метод в CIL-код, вы обнаружите, что ссылки на параметры C# будут обозначены знаком амперсанда (&), добавленного в виде суффикса к типу данных, соответствующему параметру (int32&). Для выходных параметров тоже используется суффикс &, но, кроме того, они обозначены маркером CIL [out], Также обратите внимание на то, что в том случае, когда параметр является ссылочным типом (как тип [mscorlib]System.Collections.ArrayList в нашем примере), ему предшествует лексема class (не путайте с директивой .class!).

.method public hidebysig static void MyMethod(int32 inputInt, int32& refInt, class [mscorlib]System.Collections.ArrayList ar, [out] int32& outputInt) cil managed {

 …

}

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Определение членов типов в CIL

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Определение членов типов в CIL Вы уже знаете, что типы .NET могут определить различные члены. Перечни содержат некоторый набор пар имен и значений. Структуры и классы могут иметь конструкторы, поля, методы, свойства, статические члены и т.д. В предыдущих 14 главах вы уже могли


Определение членов класса

Из книги Delphi. Учимся на примерах автора Парижский Сергей Михайлович

Определение членов класса Все члены класса по характеру доступа к ним делятся на четыре категории: закрытые (private), защищенные (protected), открытые (public) и опубликованные (published).Элементы класса, определенные в разделе public, без каких-либо ограничений открыты для доступа извне


Определение параметров сетки

Из книги AutoCAD 2009 для студента. Самоучитель автора Соколова Татьяна Юрьевна

Определение параметров сетки Сеткой называется упорядоченная последовательность точек, покрывающих область рисунка в пределах лимитов. Работа в режиме GRID подобна наложению на рисунок листа бумаги в клетку. Использование сетки помогает выравнивать объекты и оценивать


Определение параметров вывода на печать

Из книги AutoCAD 2009. Начали! автора Соколова Татьяна Юрьевна

Определение параметров вывода на печать Параметры печати задаются на вкладке Plot and Publish диалогового окна Options – рис. 3.7. Рис. 3.7. Диалоговое окно определения параметров вывода на печать• В области Default plot settings for new drawings настраиваются параметры печати для новых чертежей по


Определение параметров сетки

Из книги Практика и проблематика моделирования бизнес-процессов автора Всяких Е И

Определение параметров сетки Сеткой называется упорядоченная последовательность точек, покрывающих область рисунка в пределах лимитов. Работа в режиме GRID подобна наложению на рисунок листа бумаги в клетку. Использование сетки помогает выравнивать объекты и оценивать


Определение параметров файла

Из книги OrCAD PSpice. Анализ электрических цепей автора Кеоун Дж.

Определение параметров файла statФункция собирает вместе всю информацию, выдаваемую операционной системой для указанного файла, и возвращает ее в виде массива.Синтаксис:array stat(string $filename)Этот массив всегда содержит следующие элементы с указанными ключами:Этот массив


Определение y-параметров

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Определение y-параметров Базовые уравнения для определения параметров проводимости четырехполюсника:I1 = y11V1 + y12V2;I2 = y21V1 + y22V2. Рис. 12.1. Четырехполюсник На рис. 12.1 представлен четырехполюсник с условными направлениями токов и напряжений. Проводимости в сомножителях,


Поиск членов

Из книги КОМПАС-3D для студентов и школьников. Черчение, информатика, геометрия автора Большаков Владимир

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


Определение параметров объектов Recordset

Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна Юрьевна

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


12.6.3. Определение параметров касающихся геометрических тел

Из книги AutoCAD 2008 для студента: популярный самоучитель автора Соколова Татьяна Юрьевна

12.6.3. Определение параметров касающихся геометрических тел В последующих примерах определим основные параметры касающихся геометрических тел, которые позволят, используя рассмотренные ранее приемы, построить соответствующие модели.Пример 12.13Условие. Определить


Определение параметров сетки

Из книги автора

Определение параметров сетки Сеткой называется упорядоченная последовательность точек, покрывающих область рисунка в пределах лимитов. Работа в режиме GRID подобна наложению на рисунок листа бумаги в клетку. Использование сетки помогает выравнивать объекты и оценивать


Определение параметров вывода на печать

Из книги автора

Определение параметров вывода на печать Параметры печати задаются на вкладке Plot and Publish диалогового окна Options – рис. 3.7. Рис. 3.7. Диалоговое окно определения параметров вывода на печать• В области Default plot settings for new drawings настраиваются параметры печати для новых чертежей по


Определение параметров сетки

Из книги автора

Определение параметров сетки Сеткой называется упорядоченная последовательность точек, покрывающих область рисунка в пределах лимитов. Работа в режиме GRID подобна наложению на рисунок листа бумаги в клетку. Использование сетки помогает выравнивать объекты и оценивать


Определение параметров вывода на печать

Из книги автора

Определение параметров вывода на печать Параметры печати задаются на вкладке Plot and Publish диалогового окна Options – рис. 3.7. Рис. 3.7. Диалоговое окно определения параметров вывода на печать• В области Default plot settings for new drawings настраиваются параметры печати для новых чертежей по