Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Явная реализация методов интерфейса

РефератПомощь в написанииУзнать стоимостьмоей работы

По правилам C# — методы интерфейса, описанные в реализующем классе с явным указанием типа интерфейса можно вызвать только экземпляром того же типа интерфейса (в данном случае интерфейса IConvertible). Поэтому для вызова метода ToDateTime понадобился фрагмент кода ((IConvertible)s).ToDateTime, где явно указано преобразование ссылки на объект s типа string в ссылку на объект типа интерфейса… Читать ещё >

Явная реализация методов интерфейса (реферат, курсовая, диплом, контрольная)

Методы ToType, ToDateTime и т. д. интерфейса IConvertible реализованы в классе String с заголовками особой формы, явно указывающей на их принадлежность к интерфейсу IConvertible.

object IConvertible. ToType (Type conversionType, IFormatProvider provider);

DateTime IConvertible. ToDateTime (IFormatProvider provider);

Явное описание методов интерфейса в реализующем классе не должно сопровождаться модификаторами доступа типа public и т. п.

По правилам C# - методы интерфейса, описанные в реализующем классе с явным указанием типа интерфейса можно вызвать только экземпляром того же типа интерфейса (в данном случае интерфейса IConvertible). Поэтому для вызова метода ToDateTime понадобился фрагмент кода ((IConvertible)s).ToDateTime, где явно указано преобразование ссылки на объект s типа string в ссылку на объект типа интерфейса IConvertible. Другой способ приведения типов может быть реализован с помощью оператора as (как). Выражение (IConvertible)s можно заменить выражением s as IConvertible, что означает дословно «рассматривай ссылку на объект s, как ссылку на объект типа IConvertible». Проверьте.

Параметром метода ToDateTime является объект типа IFormatProvider. Такого типа объект может быть получен только из класса, реализующего интерфейс IFormatProvider.

В данном примере этим классом является System.Globalization.DateTimeFormatInfo.

Код (IFormatProvider)(new System.Globalization.DateTimeFormatInfo ()) создает экземпляр класса System.Globalization.DateTimeFormatInfo и преобразует его тип в IFormatProvider.

Класс String, реализовав интерфейс IConvertible, делает свои объекты преобразуемыми в объекты других типов.

На практике для преобразования строк к значениям переменных конкретных типов рекомендуется использовать статические методы класса System.Convert. Действительно, гораздо проще выглядит строка кода.

C.WriteLine (Convert.ToDateTime (s));

Проверьте ее работу.

Показать весь текст
Заполнить форму текущей работой