The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз OpenSource реализации .Net-платформы Mono 2.10"
Отправлено Трухин_Юрий_Владимирович, 20-Фев-11 22:05 
> — метод свойства может привести к исключению, а при доступе к полям
> исключений не бывает;

неужели? -> читать любую книжку по c#

> — метод свойства может выполнятся довольно долго, а доступ к полям выполняется
> моментально.

-> читать что можно делать в свойствах, чего нельзя делать в полях. ->смотреть профайлером, сколько это "довольно долго". время обращения к полю равно времени вызова get-функции, соответственно если это долго - не используем поля, а если нужны проверки, логгирование, обработка ошибок и др -> с get set функциями будет не быстрее

>Часто свойства используют для синхронизации потоков, но это может привести
> к приостановке потока на неопределенное время — поэтому свойства не следует
> использовать для этих целей — в такой ситуации лучше задействовать метод.

-> читать про immutable типы данных и правильные способы организации работы с потоками и тасками

> Кроме, того если предусмотрен удаленный доступ к классу (например, если он
> наследует System.MarshalByRefObject), вызов метода свойства выполнится очень медленно,
> поэтому предпочтение следует отдать методу. Я считаю, что в классах, производных
> от MarshalByRefObject, никогда не следует использовать свойства;

это слишком старый и низкоуровневый способ взаимодействия с классами, читать C# 4

> — при вызове несколько ряд подряд метод свойства может возвращать разные значения,
> а поле возвращает одно и тоже значение.
> В классе System.DateTime есть
> неизменяемое свойство Now ...

а вы хотели чтобы Now возвращал "yesterday?:)"
> — метод свойства может создавать наблюдаемые стороние эффекты, а при доступе к
> полю это невозможно...

нло прилетит?

советую все-таки почитать Рихтера 2010 года выпуска и все-таки попробовать что-либо написать самому и попрофилировать...
П.С. Со времен CLR 2 много чего изменилось))


 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру