В этой строке кода интервал ячеек электронной таблицы получается при вызове методаget Range (), для чего достаточно указать начало и конец интервала. А значения задаются при вызове методаset_Value (), для чего достаточно указать тип (что не обязательно) и конкретное значение. В этих методах используются свойстваRangeиValue,поскольку у обоих свойств имеются два параметра. Поэтому в прошлом к ним нельзя было обращаться как к свойствам, но приходилось пользоваться упомянутыми выше методами. Кроме того, аргументType .Missingслужил в качестве обычного заполнителя, который передавался для указания на тип, используемый по умолчанию. Но, начиная с версии C# 4.0, появилась возможно переписать приведенный выше оператор, приведя его к следующей более удобной форме.

myXLapp.Range["Cl", "СЗ"].Value = "OK";

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

Как правило, при определении в методе параметраrefприходится передавать ссылку на этот параметр. Но, работая с моделью СОМ, можно передавать параметруrefзначение, не заключая его предварительно в оболочку объекта. Дело в том, что компилятор будет автоматически создавать временный аргумент, который уже заключен в оболочку объекта, и поэтому указывать параметрrefв списке аргументов уже не нужно.

Дружественные сборки

Одну сборку можно сделатьдружественнойпо отношению к другой. Такой сборке доступны закрытые члены дружественной ей сборки. Благодаря этому средству становится возможным коллективное использование членов выбранных сборок, причем эти члены не нужно делать открытыми. Для того чтобы объявить дружественную сборку, необходимо воспользоваться атрибутомInternals Vi sibleTo.

Разные ключевые слова

В заключение этой главы в частности и всей части I вообще будут вкратце представлены ключевые слова, определенные в C# и не упоминавшиеся в предыдущих главах данной книги.

Ключевое слов lock

Ключевое словоlockиспользуется при создании многопоточных программ. Подробнее оно рассматривается в главе 23, где речь пойдет о многопоточном программировании. Но ради полноты изложения ниже приведено краткое описание этого ключевого слова.

Перейти на страницу:

Похожие книги