Сообщения с тегом ‘Default’
Интерфейсы (II)
Написано admin в 20 Июнь 2008 – 21:36 -Интерфейсы (II)
Поскольку аргумент метода должен иметь универсальный тип object, то перед выполнением сравнения его нужно привести к типу Person. Это приведение использует операцию as, позволяющую проверить корректность выполнения приведения.
При приведении типов часто используются операции is и as. Логическое выражение (obj is T) истинно, если объект obj имеет тип T. Оператор присваивания (obj = P as T;) присваивает объекту obj объект P, приведенный к типу T, если такое приведение возможно, иначе объекту присваивается значение null. Семантику as можно выразить следующим условным выражением: (P is T) ? (T)P : (T)null.
Заметьте также, что при проверке на значение null используется отношение Equals, а не обычное равенство, которое будет переопределено.
Отношение порядка на объектах класса Person задается как отношение порядка на фамилиях персон. Так как строки наследуют интерфейс IComparable, то для фамилий персон вызывается метод CompareTo, его результат и возвращается в качестве результата метода CompareTo для персон. Если аргумент метода не будет соответствовать нужному типу, то выбрасывается исключение со специальным уведомлением.
Конечно, сравнение персон может выполняться по разным критериям: возрасту, росту, зарплате. Общий подход к сравнению персон будет рассмотрен в следующей лекции 20. Read more »
Tags: BackState, BinaryFormatter, ChangeStateOne, ChangeStateTwo, Close, Default, FileMode, FileStream, Formatters, IFormatter, IRemotingFormatter, Personage, System, wealth
Находится в Учебник | No Comments »
Вопрос 18. Как изменить используемое по умолчанию пространство имен?
Написано admin в 14 Июнь 2008 – 15:40 -Вопрос 18. Как изменить используемое по умолчанию пространство имен?
Если вы создали новый проект, то для ваших классов в нем будет использоваться некоторое пространство имен по умолчанию. Например, для проекта типа ClassLibrary это будет что-то типа ClassLibrary1:
namespace ClassLibrary2 { ... public class Class1 { ... } }
Tags: Class, ClassLibrary, Common, Default, General, namespace, Pages, Project, Properties, Property
Находится в FAQ по C# | No Comments »
